【问题标题】:Step Functions calling an Operation/API of a fargate service deployed in ECSStep Functions 调用部署在 ECS 中的 Fargate 服务的操作/API
【发布时间】:2021-01-05 16:11:59
【问题描述】:

我在 ECS 中部署了一项服务作为 Fargate 服务。例如。 BookService 具有 GetBooks 和 PutBooks 操作,用于添加和获取图书详细信息。

我正在尝试从 Step 函数调用 ECS 中的 GetBooks 和 PutBooks 操作。可能吗?任何参考都会非常有帮助。

[StepFunction] -> [ECS - Fargate]

调用ECS任务的默认Step函数

 "Manage ECS task": {
  "Type": "Task",
  "Resource": "arn:aws:states:::ecs:runTask.sync",
  "Parameters": {
    "LaunchType": "FARGATE",
    "Cluster": "arn:aws:ecs:REGION:ACCOUNT_ID:cluster/MyECSCluster",
    "TaskDefinition": "arn:aws:ecs:us-west-2:1222333:task-definition/booksPocEcsServiceTaskDef:4"
  },
  "End": true
}

【问题讨论】:

  • 我目前正在引入一个 lambda 来从 Step Function 调用 ECS。看起来 AWS 不支持通过 StepFunction 调用 API。但是,可以通过传递环境变量来调用任务。但是,我的用例并非如此。

标签: amazon-web-services amazon-ec2 amazon-ecs aws-step-functions amazon-ecr


【解决方案1】:

Step Functions 只能调用内置集成的 ECS RunTask。如果您尝试调用在 Fargate 上运行的 Web 服务,Step Functions 目前不支持任意 HTTP 请求。

您可以在您的 Fargate 服务前面使用 API 网关,Step Functions 可以直接调用该网关。另一种选择是使用 Lambda 函数来调用您的服务,就像您已经完成的那样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2022-07-28
    • 2019-04-12
    • 1970-01-01
    • 2019-08-12
    • 2020-08-15
    • 1970-01-01
    相关资源
    最近更新 更多