AWS Lambda 関数 (コンソール) をトリガーするキューの設定 - Amazon Simple Queue Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Lambda 関数 (コンソール) をトリガーするキューの設定

AWS Lambda 関数を使用して Amazon SQS キューのメッセージを処理できます。Lambda はキューをポーリングし、Lambda 関数を、キューメッセージを含むイベントと共に同期的に呼び出します。Lambda 関数が処理できないメッセージに対して、デッドレターキューとして別のキューを指定することが可能です。

Lambda 関数は複数キューの項目を処理できます (各キューに 1 つの Lambda イベントソースを使用)。複数の Lambda 関数で同じキューを使用できます。

暗号化されたキューに Lambda 関数を関連付けても Lambda がメッセージをポーリングしない場合、Lambda 実行ロールに kms:Decrypt 許可を追加してください。

以下の制限があることに注意してください。

  • キューと Lambda 関数は同じ AWS リージョンに存在する必要があります。

  • デフォルトキー (Amazon SQS の AWS マネージド KMS キー) を使用した暗号化されたキューは、別な AWS アカウント の Lambda 関数を呼び出せません。

Lambda 関数の実装については、AWS Lambda デベロッパーガイドAmazon SQS で AWS Lambda の使用をご参照ください。

前提条件

Lambda 関数のトリガーを設定する場合、以下の要件を満たしていることが必要です:

  • IAM ユーザーを使用する場合、Amazon SQS ロールに以下の許可が含まれている必要があります:

    • lambda:CreateEventSourceMapping

    • lambda:ListEventSourceMappings

    • lambda:ListFunctions

  • Lambda 実行ロールに以下の許可が含まれている必要があります:

    • sqs:DeleteMessage

    • sqs:GetQueueAttributes

    • sqs:ReceiveMessage

  • 暗号化されたキューを Lambda 関数に関連付ける場合、Lambda 実行ロールに kms:Decrypt 許可を追加します。

詳細については、「Amazon SQS でのアクセス管理の概要」を参照してください。

Lambda 関数 (コンソール) をトリガーするようにキューを設定する場合

  1. https://console.aws.amazon.com/sqs/ で Amazon SQS コンソールを開きます。

  2. ナビゲーションペインで [Queues] (キュー) を選択します。

  3. [Queues] (キュー) のページで、設定するキューを選択します。

  4. キューのページで、[Lambda triggers] (Lambda トリガー) のタブを選択します。

  5. [Lambda triggers] (Lambda トリガー) のページで、Lambda トリガーを選択します。

    必要な Lambda トリガーがリストに含まれていない場合、[Configure Lambda function trigger] (Lambda 関数トリガーを設定) を選択。Lambda 関数の Amazon リソースネーム (ARN) を入力、または既存のリソースを選択します。次に、[Save ] を選択します。

  6. [Save] (保存) を選択します。コンソールは設定を保存してキューの [Details] (詳細) ページを表示します。

    [Details] (詳細) ページで、[Lambda triggers] (Lambda トリガー) タブに Lambda 関数とそのステータスが表示されます。Lambda 関数がキューに関連付けられるまで約 1 分かかります。

  7. 設定結果を確認する場合、キューにメッセージを送信して、Lambda コンソールでトリガーされた Lambda 関数を閲覧します。