SQSからCloudWatch Logsに記録するAmazon EventBridge Pipesを構築するAWS CDK スタック
以下のようなAmazon EventBridge Pipesを構築する AWS CDK(v2) スタックを公開しました。
cdk
コマンドが使えて cdk bootstrap
済みの環境であれば、すぐに使えます。(README 内 Build & Deploy を見てください)
"強化" の Lambda 関数を含めました
個人的には、EventBridge Pipes のポイントはフィルターと強化(filter, enrichment)にあると考えています。強化では、Lambda や Step Function が呼べるので「結局Lambdaかよ」と思われがちですが、Lambda 単体の実装と比べてコード量が減らせます。
このCDKv2コードでは、 "強化" から呼び出せる Lambda 関数を同梱しています。といっても「何もしない」コードではありますが、骨組みとしてご覧ください。
カスタマイズで知っておきたい仕様は後述します。
カスタマイズのポイント
強化
強化では、ペイロードの編集が可能です。例えば、渡されたペイロードの中身を基に DynamoDB を検索して、その結果をペイロードに付与できます。
強化に指定する Lambda 関数の仕様はこちらをご覧ください。
出力(ターゲット)
ターゲットを変更したら、その先のサービスへの書き込み権限を、Pipes 実行ロールに付与するのを忘れないようにしましょう。
特に外部 API へ送信できる "API 送信先" を指定した場合は events:InvokeApiDestination
が必要です。
おわりに
まあ、つかってやってください。
ちなみに cdk bootstrap
で作成された環境の削除は、こちらをご覧ください。
IoT 1-Click プロジェクトを作成するAWS CDK スタックも公開しました。ボタンのデータをAmazon EventBridge Pipes へ流し込めます。
EoT
Discussion