在AWS EventBridge中,putEvents方法不接受Detail JSON数组,只接受单个事件的Detail JSON对象。如果你有多个事件需要发送,可以使用以下方法解决:
以下是一个示例代码,展示如何解决这个问题:
import boto3
import json
events = [
{
"detail": {
"key1": "value1"
}
},
{
"detail": {
"key2": "value2"
}
}
]
# 创建EventBridge客户端
eventbridge = boto3.client('events')
# 迭代发送每个单个事件
for event in events:
response = eventbridge.put_events(
Entries=[
{
'Detail': json.dumps(event['detail']),
'DetailType': 'myEventType',
'Source': 'myEventSource'
}
]
)
print(response)
在上面的示例中,我们将events数组中的每个事件拆分为单个事件,然后使用putEvents方法发送。你可以根据实际需求修改DetailType和Source字段的值。
希望这个示例能帮助你解决问题!