AWS:使用 Event Bridge Not Working 创建 s3 对象时触发步骤函数状态机
AWS: Trigger step function state machine on s3 object creation using Event Bridge Not Working
我在我的 s3 存储桶上为 Amazon EventBridge 启用了通知。
然后我使用以下事件模式创建了一个 EventBridge 规则:
{
"detail": {
"bucket": {
"name": ["arn:aws:s3:::my-bucket"]
}
},
"detail-type": ["Object Created"],
"source": ["aws.s3"]
}
然后我添加了我的状态机作为这个规则的目标。我还为此事件目标附加了一个具有以下策略的 IAM 角色。
"Statement": [
{
"Effect": "Allow",
"Action": [ "states:StartExecution" ],
"Resource": [ "arn:aws:states:*:*:stateMachine:*" ]
}
]
然后我也将以下策略附加到我的状态机步骤函数中:
{
"Action": "events:*",
"Resource": "arn:aws:events:us-east-1:my-account-id:event-bus/default",
"Effect": "Allow"
}
完成所有这些之后,我的状态机仍然没有被调用。
我在这里错过了什么?我该如何调试问题所在?
您检查过您的 custom pattern
是否与活动匹配吗?
我认为您的名称中不需要 arn
。
试试
{
"detail": {
"bucket": {
"name": ["my-bucket"]
}
},
"detail-type": ["Object Created"],
"source": ["aws.s3"]
}
我在我的 s3 存储桶上为 Amazon EventBridge 启用了通知。
然后我使用以下事件模式创建了一个 EventBridge 规则:
{
"detail": {
"bucket": {
"name": ["arn:aws:s3:::my-bucket"]
}
},
"detail-type": ["Object Created"],
"source": ["aws.s3"]
}
然后我添加了我的状态机作为这个规则的目标。我还为此事件目标附加了一个具有以下策略的 IAM 角色。
"Statement": [
{
"Effect": "Allow",
"Action": [ "states:StartExecution" ],
"Resource": [ "arn:aws:states:*:*:stateMachine:*" ]
}
]
然后我也将以下策略附加到我的状态机步骤函数中:
{
"Action": "events:*",
"Resource": "arn:aws:events:us-east-1:my-account-id:event-bus/default",
"Effect": "Allow"
}
完成所有这些之后,我的状态机仍然没有被调用。
我在这里错过了什么?我该如何调试问题所在?
您检查过您的 custom pattern
是否与活动匹配吗?
我认为您的名称中不需要 arn
。
试试
{
"detail": {
"bucket": {
"name": ["my-bucket"]
}
},
"detail-type": ["Object Created"],
"source": ["aws.s3"]
}