Gatewayを組み合わせる方法を紹介しました。SQSと組み合わせてキューを処理する方法を紹介します。今回の記事では以下の内容について紹介します。SQSはフルマネージドなメッセージキューイングサービスです。自分でサーバやミドルウェアなどを準備することなくすぐに使い始めることができ、他のAWSサービスとの連携が容易に行えるなどのメリットがあります。SQSについてより詳しく知りたい方は、こちらなどをご覧ください。実際に動かしてみるそれでは、AWS上に環境を構築してキューにメッセージを送ってみましょう。SQSでキューを作成するまず初めに、SQSにキューを作成します。SQSのページを開き、「キューを作成」をクリックします。キューの作成では、最初にキューのタイプを選択します。キューには、「標準」と「FIFO」の2種類のタイプがあります。簡単に説明すると、「FIFO」タイプではメッセージの順番が保証され、メッセージの配信も厳密に1回のみ行われます。それに比べて、標準タイプではこのあたりが保証されませんが、スループットや料金面で優れています。今回は順番などに制限はありませんので、標準を選択します。「設定」の項目では、キューの制御について様々な設定を行います。配信遅延:コンシューマ(メッセージの受信者)の処理が完了する前にメッセージがキューに入った場合に配信を遅延させる時間メッセージ受信待機時間:0の場合はショートポーリング、1以上の場合はロングポーリングSQSのメッセージはデフォルトで暗号化されます。アクセスポリシーでは、キューへのアクセス権限を設定します。「許可ポリシーの再実行」と「デッドレターキュー」では、デッドレターキューに関する設定を行います。デッドレターキューは、メッセージの配信が失敗し処理に失敗した場合にそのメッセージを再利用するために使用されます。今回は特に設定は行いません。これでキューの設定は完了です。「キューを作成」を押して作成します。LambdaでMessage送信関数を作成する今回は2種類のLambda関数を作成します。1つ目の関数では、先ほど作成したキューにメッセージを送ります。2つ目の関数では、キューにメッセージが送られるのをトリガーに起動し、そのメッセージをログに出力します。sendMessage関数を作成する関数の作成については、前回紹介したため割愛します。関数のコードは以下のとおりです。関数でメッセージを送ります。このコードをビルドしてZIP化したものをLambda(sendMessage)にアップロードします。IAMを修正するこのままだとキューにアクセスする権限がないので関数がエラーになります。そこで、Lambda関数作成時に作られるIAMロールにキューへのアクセス権限を追加します。追加する権限は以下のとおりです。"arn:aws:sqs:ap-northeast-1:XXXX:TestQueue"}]}権限修正後にテスト実行すると、先程作ったキューにメッセージが送られます。LambdaでMessage受信関数を作成する2つ目のLambdaを作成し、キューにLambda関数トリガーを設定します。getMessage関数を作成する関数のコードは以下のとおりです。