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"]
}