【问题标题】:How to pass & return the values from lambda to ECS task如何将值从 lambda 传递和返回到 ECS 任务
【发布时间】:2022-02-03 13:59:47
【问题描述】:

我有一个调用 ECS 任务的 lambda 函数。现在我想将 Lambda 的值作为输入传递给 ECS 任务,ECS 任务的结果应该返回给 Lambda。

我曾尝试使用 run_task() 方法在 lambda 中运行 ECS 任务。它仅返回有关 ECS 任务的信息,但不返回 ECS 任务的结果(输出),我无法将值作为输入传递给 ECS 任务。

关于如何在 ECS 任务中正确传递和返回数据的任何工作示例?

【问题讨论】:

    标签: amazon-web-services docker aws-lambda amazon-ecs aws-fargate


    【解决方案1】:

    ECS 任务不是 API 调用或函数,您可以向其传递值并期望从中返回值。运行任务只是意味着启动一个“容器”。该容器是否成功启动取决于许多因素,例如:

    • 引用的 Docker 映像(在任务定义中)是否可用
    • 任务是否有足够的权限
    • 网络设置是否正确
    • 任务中的主容器工作正常并通过了健康检查
    • 还有更多!

    因此,如果您希望容器动态读取值。您可以将该值从您的 lambda 设置为 SSM Parameter Store。然后您在 ECS 中运行的应用程序可以从 Parameter Store 中读取。

    Lambda -> save value in Parameter Store -> Run Task
    ECS Task -> Read value from Parameter Store
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-18
      • 2012-02-18
      • 2021-11-15
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 2019-08-29
      相关资源
      最近更新 更多