【发布时间】:2021-06-30 05:44:52
【问题描述】:
目标
我想将来自 Amazon EventBridge 的事件数据直接传递到 AWS Fargate 任务。但是,目前看来这是不可能的。
解决方法
作为一种解决方法,我在 AWS Fargate 和 EventBridge 之间插入了一个额外的资源。 AWS Step Functions 允许您使用specify ContainerOverrides,其中Environment 属性允许您配置将从 EventBridge 事件传递到 Fargate 任务的环境变量。
不幸的是,这种解决方法会不必要地增加解决方案的复杂性和成本。
问题:有没有办法将 EventBridge 中的事件数据直接传递到 AWS Fargate (ECS) 任务中,而我根本不知道?
【问题讨论】:
-
能否使用 SQS 或 SNS 将事件从 eventbridge 传递到容器?
-
这看起来如何?我原来的事件源是 S3
PutObject和CompleteMultipartUpload。如果你能做到的话,你所设想的架构图会有所帮助。 :) -
有很多方法可以做到这一点。您在 fargate 上的应用程序可以拉取 SQS 以获取消息。或者您可以在您的应用程序上公开一个 HTTP 端点,以便 SNS 可以向其推送消息。细节是特定于用例的,因此除了 cmets 中的一些想法外,我也无法提供具体答案。
-
我的问题是具体围绕 EventBridge 和 ECS (Fargate) 之间的直接转发行为,所以中介现在是不可能的。我使用 Step Functions 作为解决方法,但正如我在问题中提到的,我更愿意降低解决方案的复杂性。
标签: amazon-web-services aws-event-bridge