AWS CLI で CloudWatch Logs を Lambda 関数のトリガーに設定する方法を教えてください

2023.08.08

困っていた内容

現在マネジメントコンソールから CloudWatch Logs を Lambda 関数のトリガーに設定しています。
この処理を自動化するため、AWS CLI で実施したいのですが、具体的にどのコマンドを実行すればよいかがわかりません。

AWS CLI で CloudWatch Logs を Lambda 関数のトリガーに設定する方法を教えてください。

どう対応すればいいの?

aws lambda add-permissionaws logs put-subscription-filter を実行してください。

それぞれ以下のようなコマンドを実行します。
必要に応じてパラメーターを変更してください。

aws lambda add-permission \
--function-name test \
--statement-id 123456789 \
--action lambda:InvokeFunction \
--principal logs.ap-northeast-1.amazonaws.com \
--source-arn arn:aws:logs:ap-northeast-1:<account-id>:log-group:/test/20230211:* \
--source-account <account-id> \
--region ap-northeast-1 \
aws logs put-subscription-filter \
--log-group-name /test/20230211 \
--filter-name test \
--filter-pattern "" \
--destination-arn arn:aws:lambda:ap-northeast-1:<account-id>:function:test \
--region ap-northeast-1 \

参考資料