AWS 问题 - 如何使用 Python 在 Fargate 任务中获取 Cloudwatch 事件数据

J. *_*yan 5 amazon-s3 amazon-web-services boto3 aws-fargate amazon-cloudwatch-events

我是 Cloudwatch 活动和 Fargate 的新手。我想在文件上传到特定 S3 存储桶时触发 Fargate 任务 (Python) 运行。每当我上传文件时,我都可以让任务运行,并且可以在事件日志中看到名称;但是我想不出一种简单的方法来读取 Fargate 中的事件数据。过去几天我一直在研究这个,除了读取事件日志或使用 lambda 调用任务并将事件数据放入消息队列之外,还没有找到解决方案。

有没有一种简单的方法可以使用 boto3 在 Fargate 中获取事件数据?很可能我没有在正确的地方寻找或提出正确的问题。

谢谢

Adi*_*iii 7

您可以配置的最简单的选项之一是同一 s3 图像上传事件的两个目标。

  • 将同一事件推送到 SQS
  • 同时启动 Fargate 任务

当 Fargate 启动时从 SQS 读取消息事件(中间没有 Lambda),同样的任务定义也适用于正常用例,确保在从 sqs 读取消息后退出进程。

所以在这种情况下,每当 Fargate 任务启动时,它都会从 SQS 读取消息。 在此处输入图片说明

  • @ChrisWilliams我不认为这会产生问题,任务可以读取队列中的所有可用消息,如果没有更多消息则退出,通过这样做,它将减少每个事件所需的启动开销时间,因为主要目的是处理事件并从事件中获取所需的数据。 (2认同)