【问题标题】:Passing event data from Amazon EventBridge into an AWS Fargate task将事件数据从 Amazon EventBridge 传递到 AWS Fargate 任务
【发布时间】: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 PutObjectCompleteMultipartUpload。如果你能做到的话,你所设想的架构图会有所帮助。 :)
  • 有很多方法可以做到这一点。您在 fargate 上的应用程序可以拉取 SQS 以获取消息。或者您可以在您的应用程序上公开一个 HTTP 端点,以便 SNS 可以向其推送消息。细节是特定于用例的,因此除了 cmets 中的一些想法外,我也无法提供具体答案。
  • 我的问题是具体围绕 EventBridge 和 ECS (Fargate) 之间的直接转发行为,所以中介现在是不可能的。我使用 Step Functions 作为解决方法,但正如我在问题中提到的,我更愿意降低解决方案的复杂性。

标签: amazon-web-services aws-event-bridge


【解决方案1】:

EventBridge 和 Fargate 之间当前没有直接调用。您可以在https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-targets.html找到支持的目标列表

解决方法是使用支持调用 fargate(如 step-functions)或将消息发送到计算(如 lambda [讽刺])的中介,然后再将其发送到下游。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-01-27
  • 2018-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-18
  • 1970-01-01
相关资源
最近更新 更多