AWS EventBridge 规则在启用后不会立即触发计划。如果创建了一个计划事件规则,并启用它,请等待规则下一次计划的时间触发事件。
以下是一个包含代码示例的解决方法,创建并启用一个计划事件规则并等待触发:
import boto3
import time
# 创建 EventBridge 客户端
event_bridge = boto3.client('events')
# 创建计划事件规则
response = event_bridge.put_rule(
Name='my-scheduled-rule',
ScheduleExpression='cron(0 12 * * ? *)'
)
# 启用规则
response = event_bridge.enable_rule(
Name='my-scheduled-rule'
)
# 等待下一个计划事件触发
time.sleep(60)
# 触发事件
response = event_bridge.put_events(
Entries=[
{
'Detail': '{ "key1": "value1", "key2": "value2" }',
'DetailType': 'myDetailType',
'Resources': [
'resource1',
'resource2'
],
'Source': 'mySource',
'EventBusName': 'myEventBus'
}
]
)