Amazon web services 是否可以将事件和上下文作为环境变量传递给云监视事件触发的ecs容器

Amazon web services 是否可以将事件和上下文作为环境变量传递给云监视事件触发的ecs容器,amazon-web-services,amazon-s3,amazon-ecs,amazon-cloudwatch,Amazon Web Services,Amazon S3,Amazon Ecs,Amazon Cloudwatch,我想在s3将文件上传到bucket时,将触发器传递给ecs实例,并对上传的文件进行处理。所以我需要把bucket和文件名放到ecs容器中。 ecs实例尚未运行。但在事件发生时开始 我想在文件上传到服务器时传递一个ECS实例 存储在s3中并处理上传的文件 首先,在应用程序启动时加载环境变量,而在应用程序启动时不知道事件 所以最好的处理方法是。你需要 把文件放在S3上 发送到SNS的事件通知数据进入S3,新数据的通知发送到SNS SNS将触发您的ECS容器的HTTP端点。我假设您已经将端点公开给进程

我想在s3将文件上传到bucket时,将触发器传递给ecs实例,并对上传的文件进行处理。所以我需要把bucket和文件名放到ecs容器中。 ecs实例尚未运行。但在事件发生时开始

我想在文件上传到服务器时传递一个ECS实例 存储在s3中并处理上传的文件

首先,在应用程序启动时加载环境变量,而在应用程序启动时不知道事件

所以最好的处理方法是。你需要

把文件放在S3上 发送到SNS的事件通知数据进入S3,新数据的通知发送到SNS SNS将触发您的ECS容器的HTTP端点。我假设您已经将端点公开给进程SNS主题。 从SNS主题中获取对象的名称和S3 bucket名称。 您也可以将SQS与SNS结合使用,但HTTP端点似乎很好,高级体系结构如下所示

或详细信息图表


文件上传到s3后,ecs容器将启动。我不想把它传递给一个已经运行的容器。。。或者我可能误解了你的意思,好吧,所以你需要将事件传递给lambda,lambda将通过传递bucket name和file name作为环境变量来创建任务定义,容器将被使用,s3没有现成的功能可以启动容器,但您可以触发lambda,然后自动化其余的流程您可以检查此链接以从lambda启动ecs任务是的,我最终使用lambda来设置环境,但我看到了这一点,并开始认为可能有更好的方法,但我不想使用TerraForm TerraForm作为代码工具的基础设施,将为您创建资源,lambda是侦听s3事件并为您启动容器的唯一选项。您可以创建集群,但这将是lamda监听事件