首页 > 解决方案 > AWS 问题 - 如何使用 Python 在 Fargate 任务中获取 Cloudwatch 事件数据

问题描述

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

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

谢谢

标签: amazon-web-servicesamazon-s3boto3aws-fargateamazon-cloudwatch-events

解决方案


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

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

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

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


推荐阅读