EventBridge Scheduler에 컨텍스트 속성 추가 - EventBridge 스케줄러

EventBridge Scheduler에 컨텍스트 속성 추가

대상에 전달하는 페이로드에서 다음 키워드를 사용하여 일정에 대한 메타데이터를 수집하십시오. 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)입니다.

이 예제에서는 5분마다 실행되고 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)