如何通过 EventBridge 将 S3 文件名传递给 ECS 任务Fargate的状态机

问题描述

我有定期将文件上传到 S3 的作业。

我有一个 ECS 任务 (Fargate),它可以处理 S3 上的文件,前提是它知道文件名(& 存储桶)。

我有一个连接到 ECS 任务的状态机,它会触发 Fargate 任务的执行。

我希望 EventBridge 在新文件上传到 S3 存储桶时随时运行任务,然后将文件名传递给状态机。 (状态机已经知道是哪个存储桶,并将存储桶名称传递给 Fargate 任务。)

在 UI 中,我已经开始创建 EventBridge 规则,以在对象上传到该 S3 存储桶时触发(通过监视 PutObject 请求)。然后我有这条规则告诉状态机一个文件上传到 S3。

如果我运行它,所有这些“有效”或将有效,但我不知道如何将上传到 S3 的文件文件名传递给状态机。

在 UI 中有一个配置输入部分,我可以在其中选择匹配事件、匹配事件的一部分、常量或输入转换器。

我选择哪个?如何提取文件名?然后我更愿意设置一个名为“FILENAME”的环境变量,并将值设置为 S3 上的文件名。如果这是不可能的,我对此表示怀疑,那么我会将 -filename=(the filename) 作为参数传递给 ECS 任务。但由于其他一切都是 ENV,所以更喜欢 ENV 路线。

我应该选择哪些内容以及我可以复制/粘贴哪些内容以将文件名传递给状态机?

谢谢!!!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)