当我将code.zip上传到s3-bucket或使用aws复制code.zip (aws s3 cp)时,我的CodePipeline不会被触发。
Cloudformation事件规则片段:
Type: AWS::Events::Rule
Properties:
EventPattern:
source:
- 'aws.s3'
detail:
eventSource:
- 's3.amazonaws.com'
eventName:
- 'CopyObject'
- 'PutObject'
- 'CompleteMultipartUpload'
requestParameters:
bucketName:
- 's3-bucket'
key:
- 'code.zip'
State: 'ENABLED'
Targets:
-
Arn: <CodePipeline ARN>'
Id: 'Target-1'
RoleArn: <trigger role ARN>触发器角色策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codepipeline:StartPipelineExecution"
],
"Resource": "*"
}
]
}事件模式:
{
"source": [
"aws.s3"
],
"detail": {
"eventSource": [
"s3.amazonaws.com"
],
"requestParameters": {
"bucketName": [
"s3-bucket"
],
"key": [
"code.zip"
]
},
"eventName": [
"CopyObject",
"PutObject",
"CompleteMultipartUpload"
]
}
}这里缺少什么?或者有人对如何进一步调试有什么建议吗?
发布于 2021-01-07 11:11:09
问题是事件没有从S3触发,当我从CloudTrail启用它时,它起作用了。
下面是我用来解决这个问题的相关答案:S3 object level events are not getting triggered
发布于 2021-01-05 23:36:46
有两种方法可以进一步调试它。
首先,你需要确保你有一个工作的事件模式。要做到这一点,最简单的方法是获取一个示例代码管道事件,然后通过任一https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_TestEventPattern.html进行测试调用。
接下来,如果您有一个工作规则,您可以检查指标https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-monitoring-cloudwatch-metrics.html并设置DLQ https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html。两者都提供了规则是否匹配以及是否成功交付的可见性。
https://stackoverflow.com/questions/65293243
复制相似问题