Amazon SQS ​

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Amazon SQSは、Amazon Web Servicesが提供するウェブサービスであり、マイクロサービス、分散システム、サーバーレスアプリケーション向けのフルマネージドメッセージキューを提供します。 Amazon SQSコネクターを使用すると、WorkatoでAmazon SQSの機能を使用できます。

APIバージョン ​

Amazon SQSコネクターはAmazon SQS REST APIを使用します。

WorkatoでAmazon SQSに接続する方法 ​

Workatoは、Amazon SQSに対して次の認証方法をサポートしています。

IAMロール認証

このWorkatoコネクション用に専用の統合ロールをプロビジョニングすることをお勧めします。専用の統合ロールは、制御されたアクセスや、Workatoなどのサードパーティアプリケーションによって許可されるアクションを含む、権限の境界を維持するのに役立ちます。

WorkatoでのIAMロール認証の詳細については、次のAmazonドキュメントを参照してください。

レガシーアクセスキー認証

アクセスキー認証はレガシー認証形式です。 IAMロール認証の使用を強くお勧めします。

権限 ​

Amazon SQSでIAMユーザーとIAMロールを作成すると、WorkatoはAmazon SQSユーザーアカウントで操作を実行します。 Amazon SQSコネクターのすべてのアクションを使用するには、IAMユーザーにSQSへのFullAccess権限が必要です。

ARNポリシーの例: arn:aws:iam::aws:policy/AmazonSQSFullAccess。


IAMロールARN認証 ​

この認証方法では、IAMロールARNを指定する必要があります。

必要なIAMロールのAmazonリソースネーム(ARN)を取得するには、AWSサービスでIAMロールベースの認証を使用するの手順を完了してください。

WorkatoでIAMロールARNの設定を完了する ​

IAM認証の詳細については、AWS ServicesにIAMロールベース認証を使用するを参照してください。

WorkatoでAmazon SQSコネクションの設定を完了するには、次の手順を実行します。

1

作成 > コネクションをクリックするか、Cを2回押します。

2

New connectionページで、コネクションとしてAmazon SQSを検索して選択します。

3

コネクション名フィールドにコネクションの名前を入力します。

4

ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。

5

ドロップダウンメニューからConnection typeを選択します。

6

Authorization typeドロップダウンメニューを使用して、IAM roleを選択します。

7

IAM role ARNを入力します。

8

使用する予定のSQSアカウントのRegionを入力します。

9

接続をクリックします。

アクセスキー情報を取得する ​

この認証方法にはAccess keyが必要です。必要なAccess key情報を取得するには、Amazonドキュメントを参照してください。

非推奨

アクセスキー認証は非推奨です。 WorkatoではIAMロール認証の使用を推奨しています。

Workatoでアクセスキーの設定を完了する ​

WorkatoでAmazon SQSアクセスキーの設定を完了するには、次の手順を実行します。

1

作成 > コネクションをクリックするか、Cを2回押します。

2

New connectionページで、コネクションとしてAmazon SQSを検索して選択します。

3

コネクション名フィールドにコネクションの名前を入力します。

4

ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。

5

Connection typeドロップダウンメニューを使用して、コネクションタイプを選択します。

6

Authorization typeドロップダウンメニューを使用して、Access keyを選択します。

7

Access key IDを入力します。

8

Secret access keyを入力します。

9

使用する予定のSQSアカウントのRegionを入力します。

10

接続をクリックします。

用語 ​

次の用語は、Amazon SQSオブジェクトを理解して操作するうえで重要です。

キュー ​

Workato SQSコネクターは標準キューのみをサポートしています。

Amazon SQSには2種類のキューがあります。

  • 標準キュー: これはデフォルトのキュータイプであり、少なくとも1回のメッセージ配信をサポートします。標準キューではベストエフォート型の順序付けが提供され、メッセージが送信された順序と同じ順序で配信されるようにします。
  • FIFOキュー - FIFO(First-In-First-Out)キューは、操作やイベントの順序が重要な場合、またはメッセージングで重複を許容できない場合に、アプリケーション間のメッセージングを強化します。

メッセージ ​

Amazon SQSでは、メッセージ属性を使用して、タイムスタンプ、地理空間データ、署名、識別子などの構造化メタデータをメッセージに含めることができます。各メッセージには最大10個の属性を設定できます。メッセージ属性は任意であり、メッセージ本文とは別のものですが、メッセージ本文と一緒に送信されます。 Workatoはメッセージ本文とメッセージ属性の両方をサポートしています。

コンシューマーがキューからメッセージを受信して処理しても、そのメッセージはキュー内に残ります。 Amazon SQSはメッセージを自動的に削除しません。 Amazon SQSは分散システムであるため、コンシューマーがメッセージを受信する保証はありません。 Workato SQSコネクターでは、トリガーでメッセージを取得するときにメッセージを自動的に削除できます。または、Delete messagesアクションを使用して、レシピでメッセージを処理した後に削除できます。

ショートポーリングとロングポーリング ​

SQSの分散性により、SQSへの1回のリクエストでキュー内のすべてのメッセージを取得できない場合があります。たとえば、キュー内に数百件のメッセージが存在する可能性がある場合でも、10件のメッセージを取得するリクエストで9件のメッセージしか取得できないことがあります。これは、SQSがメッセージを保持しているサーバーのサブセットをサンプリングして返すためです。

Workatoはこれを軽減するために、5秒の待機タイムアウトでロングポーリングを使用します。 Workatoがトリガーまたはアクションでメッセージを取得しようとする場合、Workatoはサンプリングされたサーバーにメッセージが到着するまで最大5秒待機します。アクションでは、入力Wait time (seconds)を使用してこのタイムアウトを設定します。

可視性タイムアウト ​

メッセージは受信された直後もキュー内に残ります。他のユーザーがメッセージを再度処理しないように、Amazon SQSは可視性タイムアウトを設定し、他のユーザーがメッセージを受信して処理できないようにします。

Workatoコネクターでは、最大12時間の可視性タイムアウトを設定できます。 Visibility Timeout入力フィールドを空白のままにすると、デフォルトのAmazon SQSタイムアウトは30秒になります。 Visibility Timeout値を指定する場合は、0~12時間の範囲にする必要があります。この間、メッセージは他のユーザーに表示されません。

この動作により、タイムアウト値の柔軟性を維持しながら、重複メッセージ処理の可能性を最小限に抑えます。

デッドレターキュー ​

SQSキュー内で削除されたメッセージのみが処理済みと見なされます。メッセージが一定時間キュー内に残された場合、または取得された回数が多すぎる場合、デバッグのためにデッドレターキューに移動されます。

Workatoは、デッドレターキューに保存されたメッセージの保管をサポートしていません。 Workatoは、メッセージがデッドレターキューに入ったときに通知するアラームを設定することをお勧めします。詳細については、Amazon SQSドキュメントを参照してください。

トラブルシューティング ​

可視性タイムアウトの問題を解決するには、次のトラブルシューティング情報を使用してください。

ジョブ間の重複メッセージ ​

異なるジョブ間で重複メッセージが表示される場合があります。これは、ジョブの処理が遅すぎて、Workatoによって取得されたメッセージが可視性タイムアウトを超過し、再度取得可能になる場合に発生します。

これを防ぐには、可視性タイムアウトを長くするか、メッセージが取得された時点で削除します。

最終更新日: