Amazon web services 如何从输入中复制值?
我试图使用step函数迭代一小部分文件。我调用lambda来获取文件列表,该列表用作处理循环的输入 我的输入,进入迭代部分: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"
{
"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”