ヤマムギ

growing hard days.

*

AWS LambdaのSQSへの自前ポーリングをやめてSQSイベントソーストリガーに変更した

   


以前は、LambdaがSQSからメッセージを受信するには、キューをポーリングしてメッセージを受信する必要がありました。
ポーリングしてキューがあればLambdaを実行するLambdaを動かしたりしていました。

2018年7月にSQSがLambdaのイベントソースとしてサポートされました!
AWS Lambda がサポートするイベントソースに Amazon Simple Queue Service を追加

これにより、ポーリングを実装しなくてもよくなりました。

SQSからキューメッセージを受け取ってRedmine APIへデータ登録していたLambdaを改善したいと思います。

本処理をしているLambdaのトリガーをSQSにします。
IAMロールはSQSとCloudWatchに対してのアクセスを許可しました。

event[Records]

eventで渡されるRecordsの中にはすでにキューメッセージも、receiptHandleも含まれています。

サンプルコード

料金

「この機能には追加料金はかかりませんが、Lambda サービスは SQS キューを連続してロングポーリングするため、標準の SQS 価格設定でこれらの API コールに対して課金されます。」とあるので、ポーリングをAWSがやってくれてはいますが、SQSへのリクエスト課金は発生するということですね。

むやみやたらにポーリングしているわけではなく、かしこい頻度調整をしながらロングポーリングをしているようです。
なので自分でコーディングするよりはきっと効率的でしょう。

詳しくは、「AWS Lambda がサポートするイベントソースに Amazon Simple Queue Service を追加」をご参照ください。

これで余分なLambdaも余分なコードも必要なくなりました。


最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

Amazon EC2のAMIイメージを自動取得して保持日数が過ぎたら削除

画像の保存をEC2に戻した事もあってEC2のバックアップの自動取得を勉強がてらや …

JAWS FESTA 2019 Sapporo 参加&当日スタッフ&企業サポーターで!

2019年のJAWS FESTA は札幌です! 今回もありがたいことに、所属して …

AWS Organizationsからアカウントを新規作成してみて

AWS Organizationsでアカウントを新規作成することがありましたので …

AWS CodeStarで静的webサイトのテンプレートプロジェクトを作成する

執筆環境の検討中です。 CodeCommitは使うつもりで、コミットしたときにE …

Amazon Rekognitionでイベント参加者の顔写真を解析して似ている人ランキングをその場で作る

2017/9/21に開催されたAWS Cloud Roadshow 2017 大 …

よくあるサーバーレスアーキテクチャで質問フォーム

この記事はServerless2 Advent Calendar 2018に参加 …

Amazon Data Lifecycle Manager(DLM)が東京リージョンで使えるようになったのでLambdaでAMI自動取得から乗り換えた

EBSのスナップショットを自動で作成してくれるAmazon Data Lifec …

AWS Lambdaで Unable to import module エラーが発生したときは

そもそも、Pycharmのナビゲーションペインでディレクトリごとドラッグ&amp …

Amazon CloudSearchにAWS Lambda(Python)からデータをアップロードする

このブログはゆるっとアドベントカレンダー Advent Calendar 201 …

「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く未来~」に行ってきました

「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く …