在 EventBridge 调度器中添加上下文属性 - EventBridge 调度器

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 EventBridge 调度器中添加上下文属性

在传递给目标的负载中使用以下关键字来收集有关计划的元数据。 EventBridge 当您的计划调用目标时,调度器会将每个关键字替换为其各自的值。

  • <aws.scheduler.schedule-arn>— 时间表ARN中的那个。

  • <aws.scheduler.scheduled-time>:您为计划指定的调用其目标的时间,例如 2022-03-22T18:59:43Z

  • <aws.scheduler.execution-id>— EventBridge 调度器为每次尝试调用目标分配的唯一 ID,例如。d32c5kddcf5bb8c3

  • <aws.scheduler.attempt-number>:用于标识当前调用的尝试次数的计数器,例如 1

此示例演示如何创建一个计划,该计划每五分钟触发一次,并调用 Amazon SQS SendMessage 操作作为通用目标。消息正文包含 schedule-time 的值。

例 AWS CLI
$ aws scheduler create-schedule --name your-schedule \ --schedule-expression 'rate(5 minutes)' \ --target '{"RoleArn": "ROLE_ARN", \ "Arn": "arn:aws:scheduler:::aws-sdk:sqs:sendMessage", \ "Input": "{\"MessageBody\":\"<aws.scheduler.scheduled-time>\",\"QueueUrl\":\"https://sqs.us-west-2.amazonaws.com/123456789012/scheduler-cli-test\"}"}' \ --flexible-time-window '{ "Mode": "OFF"}'
例 Python SDK
import boto3 scheduler = boto3.client('scheduler') sqs_universal= { "RoleArn": "<ROLE_ARN>", "Arn": "arn:aws:scheduler:::aws-sdk:sqs:sendMessage", "Input": "{\"MessageBody\":\"<aws.scheduler.scheduled-time>\",\"QueueUrl\":\"https://sqs.us-west-2.amazonaws.com/123456789012/scheduler-cli-test\"}" } flex_window = { "Mode": "OFF" } scheduler.update_schedule(Name="your-schedule", ScheduleExpression="rate(5 minutes)", Target=sqs_universal, FlexibleTimeWindow=flex_window)