`detail` フィールドに任意のデータを含む CloudWatch スケジュールイベントを作成する

`detail` フィールドに任意のデータを含む CloudWatch スケジュールイベントを作成する

タスクをトリガーするCloudWatchスケジュールイベントによって渡される設定を使用して、固定スケジュールでLambdaタスクを実行したいと思います。ドキュメントを見るとここCloudwatch のスケジュールされたイベントは次のようになります。

{
  "id": "53dc4d37-cffa-4f76-80c9-8b7d4a4d2eaa",
  "detail-type": "Scheduled Event",
  "source": "aws.events",
  "account": "123456789012",
  "time": "2015-10-08T16:53:06Z",
  "region": "us-east-1",
  "resources": [ "arn:aws:events:us-east-1:123456789012:rule/MyScheduledRule" ],
  "detail": {}
}

event.CloudWatchEvent私の Lambda タスクは Go で記述されており、イベントのフィールドの JSON にアクセスできることはわかりますdetailが、カスタムの詳細を含む Cloudwatch スケジュール イベント ルールを作成する方法がわかりません。何かご意見はありますか?

答え1

# This is for AWS Sam CF
MyScheduledRule:
    Type: "AWS::Events::Rule"
    Properties:
      Description: "ScheduledRule"
      ScheduleExpression: "rate(6 minutes)"
      State: "ENABLED"
      Targets:
        - Arn:
            !GetAtt MyLambdaFunction.Arn
          Id: "IdForAlert" 
          Input: "{\"name\": \"value\"}"

答え2

完璧な答えではありませんが、env vars を使用して Lambda タスクと通信することになりました。

詳細は以下を参照してください。

関連情報