首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从AWS step函数的Step输出中设置资源

从AWS step函数的Step输出中设置资源
EN

Stack Overflow用户
提问于 2019-05-30 17:11:04
回答 1查看 507关注 0票数 0

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

但是,我很难动态地将arn从一个步骤传递到另一个步骤。

代码语言:javascript
复制
{
 "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

代码语言:javascript
复制
{
  "name": "GetArnLambda",
  "output": {
    "arn": "arn:aws:ecs:us-east-1:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME"
  }
}

但这将集群arn解释为"$.arn“。我如何引用我刚刚从第一个任务收到的arn?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-30 19:00:27

来自文档

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

所以我觉得你需要:

代码语言:javascript
复制
 "Parameters": {
            "Cluster.$": "$.arn",
            "TaskDefinition": "ecs_task_def"
        },
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56382710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档