使用「詳細資料」欄位中的任一資料建立 CloudWatch 計畫事件

使用「詳細資料」欄位中的任一資料建立 CloudWatch 計畫事件

我想按固定計劃運行 Lambda 任務,並由觸發該任務的 CloudWatch 計劃事件傳遞一些配置。查看文件這裡,我可以看到 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": {}
}

我的 Lambda 任務是用 Go 編寫的,我可以看到它event.CloudWatchEvent允許我訪問事件detail欄位中的 JSON,但我不知道如何使用一些自訂詳細資訊來建立 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

這不是一個完美的答案,但我最終使用環境變數與 Lambda 任務進行通訊。

https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html

相關內容