Step Functions 调用部署在 ECS 中的 Fargate 服务的 Operation/API

Step Functions calling an Operation/API of a fargate service deployed in ECS

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

我正在尝试从 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
}

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

您可以在 Fargate 服务前端使用 API 网关,Step Functions 可以直接调用它。另一种方法是使用 Lambda 函数调用您的服务,正如您已经完成的那样。