Amazon web services 如何从输入中复制值?

Amazon web services 如何从输入中复制值?,amazon-web-services,aws-step-functions,Amazon Web Services,Aws Step Functions,我试图使用step函数迭代一小部分文件。我调用lambda来获取文件列表,该列表用作处理循环的输入 我的输入,进入迭代部分: { "name": "ConfigureIterator", "input": { "files": { "count": 3, "filelist": [ "foo", "bar", "fizz"

我试图使用step函数迭代一小部分文件。我调用lambda来获取文件列表,该列表用作处理循环的输入

我的输入,进入迭代部分:

{
    "name": "ConfigureIterator",
    "input": {
        "files": {
            "count": 3,
            "filelist": [
                "foo",
                "bar",
                "fizz"
            ]
        }
    }
}
我的通行证状态定义:

"ConfigureIterator": {
    "Type": "Pass",
    "Result": {
        "index": -1,
        "step": 1,
        "count": "$.files.count"
    },
    "ResultPath": "$.iterator",
    "Next": "Iterator"
}
我想将
count
的值从输入复制到通过步骤的结果中。然而,替代并未发生。输出:

  {
    "name": "ConfigureIterator",
    "output": {
        "files": {
        "count": 11,
        "filelist": [
            ...
        ]
        },
        "iterator": {
        "index": -1,
        "step": 1,
        "count": "$.files.count"
        }
    }
  }

通过状态是否不执行替换?我应该改为使用任务状态吗?如何定义“不做任何事情”任务状态?

即使在2020年,Pass状态中的结果字段似乎也不会插值。但是,“参数”字段不会。传递状态的定义是将输入传递到输出。因此,如果你能以你想要的形式得到你的输入,你就会自动得到你想要的输出。换言之,只要用“参数”替换“结果”,就应该是好的。换言之:

“配置迭代器”:{
“类型”:“通过”,
“参数”:{
“索引”:-1,
"步骤":一,,
“计数。$”:“$.files.count”
},
“结果路径”:“$.iterator”,
“下一步”:“迭代器”

}
您忘记了尾随的“$”它应该是:“count.$”:“$.files.count”