如何通过 AWS EventBridge 上的对象键后缀过滤 s3 数据事件
How to filter an s3 data event by object key suffix on AWS EventBridge
我在 AWS EventBridge 上创建了一个触发 Sagemaker Pipeline 执行的规则。为此,我有以下事件模式:
{
"source": ["aws.s3"],
"detail-type": ["AWS API Call via CloudTrail"],
"detail": {
"eventSource": ["s3.amazonaws.com"],
"eventName": ["PutObject", "CopyObject", "CompleteMultipartUpload"],
"requestParameters": {
"bucketName": ["my-bucket-name"],
"key": [{
"prefix": "folder/inside/my/bucket/"
}]
}
}
}
我已启用 CloudTrail 来记录我的 S3 数据事件,并且该规则正在正确触发我的 Sagemaker Pipeline 执行。
这里的问题是:
正在为我的前缀中 any 对象的所有 put/copy 触发管道执行。然后,我想仅当特定对象上传到存储桶中时才触发我的管道执行,因为我不知道它的全名。
例如,我可能拥有的对象名称是动态构建此日期的位置:
my-bucket-name/folder/inside/my/bucket/2021-07-28/_SUCESS
我想用这样的东西写一个事件模式:
"prefix": "folder/inside/my/bucket/{current_date}/_SUCCESS"
或
"key": [{
"prefix": "folder/inside/my/bucket/"
}, {
"suffix": "_SUCCESS"
}]
我认为 AWS 上的事件模式不支持后缀过滤。在文档中,行为不明确。
我已经使用后缀配置了 S3 事件通知,并将过滤后的通知发送到 SQS 队列,但现在我不知道如何处理这个队列才能调用我的 EventBridge 规则来触发 Sagemaker Pipeline 执行。
我正在寻找类似的功能。
很遗憾,基于 AWS 的文档 (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)
..看起来它只支持以下模式:
我在 AWS EventBridge 上创建了一个触发 Sagemaker Pipeline 执行的规则。为此,我有以下事件模式:
{
"source": ["aws.s3"],
"detail-type": ["AWS API Call via CloudTrail"],
"detail": {
"eventSource": ["s3.amazonaws.com"],
"eventName": ["PutObject", "CopyObject", "CompleteMultipartUpload"],
"requestParameters": {
"bucketName": ["my-bucket-name"],
"key": [{
"prefix": "folder/inside/my/bucket/"
}]
}
}
}
我已启用 CloudTrail 来记录我的 S3 数据事件,并且该规则正在正确触发我的 Sagemaker Pipeline 执行。
这里的问题是: 正在为我的前缀中 any 对象的所有 put/copy 触发管道执行。然后,我想仅当特定对象上传到存储桶中时才触发我的管道执行,因为我不知道它的全名。
例如,我可能拥有的对象名称是动态构建此日期的位置:
my-bucket-name/folder/inside/my/bucket/2021-07-28/_SUCESS
我想用这样的东西写一个事件模式:
"prefix": "folder/inside/my/bucket/{current_date}/_SUCCESS"
或
"key": [{
"prefix": "folder/inside/my/bucket/"
}, {
"suffix": "_SUCCESS"
}]
我认为 AWS 上的事件模式不支持后缀过滤。在文档中,行为不明确。 我已经使用后缀配置了 S3 事件通知,并将过滤后的通知发送到 SQS 队列,但现在我不知道如何处理这个队列才能调用我的 EventBridge 规则来触发 Sagemaker Pipeline 执行。
我正在寻找类似的功能。
很遗憾,基于 AWS 的文档 (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)
..看起来它只支持以下模式: