【问题标题】:Setting Resource Arn from Output of step of AWS Step Function从 AWS Step Function 的步骤的输出设置资源 Arn
【发布时间】:2019-05-30 17:11:04
【问题描述】:

我有一个步进函数,我想从获取 ECS 集群的 resourceArn 开始,然后在该集群上调用任务。

但是,我在逐步动态传递 arn 时遇到了困难。

{
 "StartAt": "GetArnLambda",
 "States": {
   "GetArnLambda": {
     "Type": "Task",
     "Resource": "arn:aws:lambda:us-east-1:AWS_ACCOUNT_ID:function:FUNCTION_NAME",
     "Next": "ecs_task"
   },
   "ecs_task": {
     "Type": "Task",
     "Resource": "arn:aws:states:::ecs:runTask.sync",
     "Parameters": {
                "Cluster": "$.arn",
                "TaskDefinition": "ecs_task_def"
            },
     "End": true
    } 
}

我从GetArnLambda 得到输出

{
  "name": "GetArnLambda",
  "output": {
    "arn": "arn:aws:ecs:us-east-1:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME"
  }
}

但这会将 Cluster arn 解释为“$.arn”。如何引用我刚刚从第一个任务中收到的 arn?

【问题讨论】:

    标签: amazon-web-services aws-step-functions


    【解决方案1】:

    来自documentation

    使用“参数”字段创建作为输入传递的键值对的集合。每个值可以是包含在状态机定义中的静态值,也可以是从输入或带有路径的上下文对象中选择的值。对于使用路径选择值的键值对,键名必须以 .$ 结尾。

    所以我认为你需要:

     "Parameters": {
                "Cluster.$": "$.arn",
                "TaskDefinition": "ecs_task_def"
            },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      相关资源
      最近更新 更多