0

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

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

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

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

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

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

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

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

我应该选择哪个,我可以复制/粘贴什么,以将文件名传递给状态机?

谢谢!!!!

4

0 回答 0