翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Lambda 関数をトリガーするための Amazon SQS キューの設定
AWS Lambda 関数を使用して、Amazon SQS キュー内のメッセージを処理できます。Lambda はキューをポーリングし、Lambda関数を、キューメッセージを含むイベントと共に同期的に呼び出します。関数がレコードの各バッチを処理するために十分な時間を取るため、ソースキューの可視性タイムアウトは、関数に設定したタイムアウトの少なくとも 6 倍にに設定してください。追加の時間は、関数が前のバッチの処理中にスロットリングされた場合に、Lambda が再試行することを可能にします。
Lambda関数が処理できないメッセージのデッドレターキューとして動作する別のキューを指定することができます。
Lambda関数は、複数のキューから項目を処理できます(各キューに対して1つのLambda イベントソースを使用)。複数のLambda関数で同じキューを使用できます。
暗号化されたキューを Lambda関数に関連付けても Lambda がメッセージをポーリングしない場合は、kms:Decrypt
Lambda 実行ロールへのアクセスを許可します。
以下の制限があることに注意してください:
-
キューと Lambda 関数は同じ AWS リージョンに存在する必要があります。
デフォルトキー (Amazon SQS のAWS マネージド KMS キー) を使用する暗号化されたキューは、別の で Lambda 関数を呼び出すことはできません AWS アカウント。 Amazon SQS
Lambda 関数の実装の詳細については、「 AWS Lambda デベロッパーガイド」のAmazon SQS AWS Lambda での の使用」を参照してください。
前提条件
Lambda関数トリガーを設定するには、以下の要件を満たしている必要があります。
-
ユーザーを使用する場合、Amazon SQSロールに以下のアクセス許可が含まれている必要があります。
-
lambda:CreateEventSourceMapping
-
lambda:ListEventSourceMappings
-
lambda:ListFunctions
-
-
Lambda実行ロールに以下のアクセス許可が含まれている必要があります。
-
sqs:DeleteMessage
-
sqs:GetQueueAttributes
-
sqs:ReceiveMessage
-
-
暗号化されたキューを Lambda 関数に関連付ける場合は、
kms:Decrypt
Lambda 実行ロールへのアクセス許可をする必要があります。
詳細については、「Amazon でのアクセス管理の概要 SQS」を参照してください。
Lambda関数(コンソール)をトリガーするためにキューを設定
Amazon SQSコンソール を開きますhttps://console.aws.amazon.com/sqs/
。 -
ナビゲーションペインで [Queues(キュー) ] を選択します。
-
[キュー]ページで、設定するキューを選択します。
-
キューのページでLambdaトリガータブを選択します。
-
Lambdaトリガーページで、Lambda トリガーを選択します。
リストに、必要な Lambdaトリガーが含まれていない場合は、Lambda関数トリガーを設定するを選択します。Lambda関数のAmazon リソースネーム (ARN)を入力するか、既存のリソースを選択します。次に、[Save]を選択します。
-
[保存] を選択します。コンソールは設定を保存し、キューのの詳細ページを表示します。
詳細ページでLambda トリガータブに Lambda 関数とそのステータスが表示されます。Lambda関数がキューに関連付けられるまで約1分かかります。
-
設定の結果を確認するには、キューにメッセージを送信して、トリガーされたLambdaコンソールの Lambda関数が表示できます。