我将尝试创建一个AWS事件(在CloudWatch或EventBridge中),当特定文件放入S3存储桶时,触发运行AWS Step Function。
以下是我的规则事件模式:
我希望
最好情况下,我想让
如果AWS CloudFormation可以通过某种方式处理这些问题并创建此规则,那将非常有帮助。
非常感谢你提供的帮助,十分感激。
以下是我的规则事件模式:
{
"source": [
"aws.s3"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"s3.amazonaws.com"
],
"eventName": [
"PutObject"
],
"requestParameters": {
"bucketName": [
"bucketname"
],
"key": [
"date={{TODAYS DATE}}/_SUCCESS"
]
}
}
}
我希望
key
元素能指向一个路径,其中TODAYS DATE
表示当前日期,_SUCCESS
是我的作业成功完成后打印到目录中的空文件(例如,如果今天是2019年10月31日,则要检查的完整bucket路径为bucketname/date=20191031/_SUCCESS
)。最终目标是触发事件规则,引导一系列其他每日工作的步骤函数,这些工作只有在输出_SUCCESS
文件的第一个作业成功完成后才能运行。最好情况下,我想让
key
检查当天的_SUCCESS
文件。但是,如果无法处理日期,如果有方法可以在新目录放入bucket时触发规则,则也应该能够使其有效(例如,在创建目录date=XXXXXX
时触发)。我不能让触发器每次将任何新文件放入桶中都激活,因为初始作业将在date=XXXXXX
目录中创建多个输出文件,这些文件用作以下作业的输入。如果AWS CloudFormation可以通过某种方式处理这些问题并创建此规则,那将非常有帮助。
非常感谢你提供的帮助,十分感激。