

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

# AWS Lambda 関数をトリガーするように Amazon SQS キューを設定する
<a name="sqs-configure-lambda-function-trigger"></a>

Lambda 関数を使用して、Amazon SQS キューからのメッセージを処理できます。Lambda はキューをポーリングし、関数を同期的に呼び出して、メッセージのバッチをイベントとして渡します。

**可視性タイムアウトの設定**   
キューの可視性タイムアウトを、[関数タイムアウト](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-common-summary)の 6 倍以上に設定します。これにより、前のバッチを処理中に関数がスロットルされた場合でも、Lambda が再試行するための十分な時間を確保できます。

**デッドレターキュー (DLQ) の使用**  
Lambda 関数が処理に失敗したメッセージをキャプチャするデッドレターキューを指定します。

**複数のキューと関数の処理**  
Lambda 関数は、キューごとに個別のイベントソースを作成することで、複数のキューを処理できます。また、複数の Lambda 関数を同じキューに関連付けることもできます。

**暗号化されたキューのアクセス許可**  
暗号化されたキューを Lambda 関数に関連付けても Lambda がメッセージをポーリングしない場合は、`kms:Decrypt`Lambda 実行ロールへのアクセスを許可します。

**制限事項**  
キューと Lambda 関数は同じ AWS リージョンに存在する必要があります。  
デフォルトキー (Amazon SQS のAWS マネージド KMS キー) を使用する[暗号化されたキュー](sqs-server-side-encryption.md)は、別の で Lambda 関数を呼び出すことはできません AWS アカウント。 Amazon SQS

実装の詳細については、「*AWS Lambda デベロッパーガイド*」の「[Amazon SQS での AWS Lambda の使用](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html)」を参照してください。

## 前提条件
<a name="configure-lambda-function-trigger-prerequisites"></a>

Lambda 関数トリガーを設定するには、以下の要件を満たしている必要があります。
+ ユーザーを使用する場合、Amazon SQSロールに以下のアクセス許可が含まれている必要があります。
  + `lambda:CreateEventSourceMapping`
  + `lambda:ListEventSourceMappings`
  + `lambda:ListFunctions`
+ Lambda 実行ロールに以下のアクセス許可が含まれている必要があります。
  + `sqs:DeleteMessage`
  + `sqs:GetQueueAttributes`
  + `sqs:ReceiveMessage`
+ 暗号化されたキューを Lambda 関数に関連付ける場合は、`kms:Decrypt`Lambda 実行ロールへのアクセス許可をする必要があります。

詳細については、「[Amazon SQS でのアクセス管理の概要](sqs-overview-of-managing-access.md)」を参照してください。

**Lambda関数(コンソール)をトリガーするためにキューを設定**

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

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

1. **[キュー]**ページで、設定するキューを選択します。

1. キューのページで**Lambdaトリガー**タブを選択します。

1. **Lambdaトリガー**ページで、Lambda トリガーを選択します。

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

1. **[保存]** を選択します。コンソールは設定を保存し、キューの**の詳細**ページを表示します。

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

1. 設定の結果を確認するには、[キューにメッセージを送信](creating-sqs-standard-queues.md#sqs-send-messages)して、トリガーされたLambdaコンソールの Lambda関数が表示できます。