【问题标题】:StepFunctions/Lambda and ECSStepFunctions/Lambda 和 ECS
【发布时间】:2021-12-29 21:33:09
【问题描述】:

这是我尝试使用 StepFunctions/Lambda/ECS+Fargate+python+docker 做的事情

我的工作是对请求进行排队并轮询以查看请求是否完成。完成后,需要下载请求的文件。除下载文件外,上述所有步骤均使用 Lambda 和 Step 函数中的 Choices 完成。

问题:我需要做的是从“文件准备好了吗?”发送 JobID。选择 Fargate/ECS 容器,以便容器中的 python 脚本下载文件并将其放入 S3。

这是正确的思考过程:不知何故在“文件准备好了吗?”说明输出应该包括 ECSTaskRun 可以使用的 json 吗?这个 json 输出应该有 Job_id 作为 evn 参数?完成后,python 脚本可以读取 job_id 作为 env 参数,os.environ.get('job_id),然后做剩下的事情?

或者,我是不是走错了路。

我还在 Python CDK 中部署所有内容。

感谢您的反馈。

【问题讨论】:

  • 我建议对新问题的 SF 和任务定义提出新问题。

标签: python-3.x amazon-web-services aws-cdk aws-fargate aws-step-functions


【解决方案1】:

您将参数传递给 SF 中的 ECS 任务,使用 Overrides 进行任务定义。如果你想将你的变量作为环境变量传递,你必须在ContainerOverrides 中覆盖Environment

【讨论】:

  • 嘿,对于 ECS 运行任务,在 SF 中,这里是任务获取的输入: { "Input": "{ \"containerOverrides\": [ { \"name\": \ "getFileTask\", \"environment\": [ { \"name\": \"name1\", \"value\": \"123\" }, { \"name\": \"DATE\" , \"value\": \"1234-12-12\" }, { \"name\": \"SCRIPT\", \"value\": \"123456\" } ] } ] }" } 但是这不会反映在启动时容器的 containerOverrides 部分。我做错了什么?泰
猜你喜欢
  • 2020-12-29
  • 1970-01-01
  • 1970-01-01
  • 2020-03-12
  • 2021-10-17
  • 2019-03-13
  • 1970-01-01
  • 2020-04-10
  • 1970-01-01
相关资源
最近更新 更多