SQS を Lambda のトリガーに追加

SQS キューを作成

  • SQS のコンソール画面を開く
  • キューを作成 を選択
  • 今回は、キューの タイプ標準 を選択
  • 名前yyyymmdd-yourname-handson-queue を記入
  • 残りの設定はデフォルトのまま、下までスクロールして キューの作成 キューの作成

Lambda 関数のトリガーを設定

  • Lambda のコンソールを開き、先ほど作成した関数 yyyymmdd-yourname-handson-function を開く
  • アクセス権限 タブを選択
  • 実行ロール のロール名をクリックし、IAM ロールのコンソール画面を開きます。
  • IAM ロールの画面で、 ポリシーをアタッチします を選択

    • 検索ボックスに AWSLambdaSQSQueueExecutionRole と記入 ポリシーのアタッチ
    • AWSLambdaSQSQueueExecutionRoleの横にあるチェックボックスにチェックを入れ、ポリシーのアタッチ を選択
    • これで、SQS をトリガーに Lambda を実行するための権限が付与できました。
  • 設定中の Lambda 関数 yyyymmdd-yourname-handson-function のページに戻る

  • デザイナー の左側、トリガーを追加 を選択

    • トリガーとして SQS を選び、キューに yyyymmdd-yourname-handson-queue を選択
    • トリガーを有効化にチェックが入っていることを確認
    • 追加 を選択 トリガーの追加

SQS からメッセージを送り、動作をテスト

  • 先ほど作った SQS キュー yyyymmdd-yourname-handson-queue の画面を開く
  • 画面右上の メッセージを送受信 を選択 メッセージを送受信
  • メッセージ本文Hello from SQS to Lambda #1 などと入力し、メッセージを送信
  • Lambda 関数の画面の モニタリング タブから CloudWatch Logs を確認して、送信されたメッセージをトリガーに Lambda が起動していることを確認
  • (Optional) そのほか、連続してSQSからLambdaにメッセージを送るなど、テストしてみましょう。