使用ECS Fargate执行步骤功能“任务”

问题描述 投票:0回答:1

在Re:Invent 2018中,AWS似乎已经启动了与Step Functions的新集成,其中包括ECS Fargate支持。

https://docs.aws.amazon.com/step-functions/latest/dg/connectors-ecs.html

我一直在挖掘这个,我能够让ECS任务启动,并做它的事情,但我无法将所需的输出发送回步骤功能。响应语法似乎也没有任何与特定状态的输出相对应的内容。

https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#API_RunTask_ResponseSyntax

ECS任务是否可以将输出发送回步进功能?任何线索都有帮助。

P.S:我了解活动,并对活动进行ECS调查,并在完成时发送任务成功。但是,我希望利用步骤函数调用ECS,如果可行的话。

amazon-web-services amazon-ecs aws-step-functions aws-fargate
1个回答
1
投票

我目前正在开发一个利用Step Functions按顺序启动多个Fargate任务的项目,我遇到了同样的问题。目前似乎没有办法返回标准ResponseSyntax以外的任何内容,尽管希望这是AWS将扩展的领域。

我们对此限制的解决方法就是使用S3来存储每个Task的输出,以便后续任务(或其他步骤)可以访问它。我们为每个Step Function调用提供S3存储桶和S3密钥前缀作为环境变量,并且由于容器覆盖作为ResponseSyntax的一部分返回,因此可以使用以下代码段将它们传递给其他步骤。

"Overrides": {
    "ContainerOverrides": [
     {
       "Name": "<your container name>",
       "Environment.$": "$.Overrides.ContainerOverrides[0].Environment"
     }
    ]
}           
© www.soinside.com 2019 - 2024. All rights reserved.