AWS 步骤函数结果操作
AWS step functions result manipulation
我有一个 AWS 步骤函数如下 -
{
"StartAt": "S1",
"States": {
"S1": {
"Type": "Pass",
"Parameters": {
"Fruits.$": "$.Junk.Fruits"
},
"ResultPath": "$.Main.Fruits",
"Next": "S2"
},
"S2": {
"Type": "Pass",
"OutputPath": "$.Main",
"End": true
}
}
}
我的输入如下-
{
"Main": {
"Field": "field",
"Field2": "field2",
"Fruits":[]
},
"Junk": {
"Fruits":["apple", "banana", "papaya", "grapes"]
}
}
我得到的输出结果如下-
{
"Field": "field",
"Field2": "field2",
"Fruits": {
"Fruits": [
"apple",
"banana",
"papaya",
"grapes"
]
}
}
我想要的输出如下-
{
"Field": "field",
"Field2": "field2",
"Fruits": [ "apple", "banana", "papaya", "grapes" ]
}
能否请您修正步进函数,以便我得到我想要的输出。
请不要使用 lambda 函数,也请不要修改输入。
您可以像这样使用 Parameters
来实现您想要的输出:
{
"StartAt": "S1",
"States": {
"S1": {
"Type": "Pass",
"Parameters": {
"Field.$": "$.Main.Field",
"Field2.$": "$.Main.Field2",
"Fruits.$": "$.Junk.Fruits"
},
"End": true
}
}
}
但是,如果您要合并两个 JSON 对象(不知道密钥),恐怕 AWS Step Functions 尚不支持它。
我有一个 AWS 步骤函数如下 -
{
"StartAt": "S1",
"States": {
"S1": {
"Type": "Pass",
"Parameters": {
"Fruits.$": "$.Junk.Fruits"
},
"ResultPath": "$.Main.Fruits",
"Next": "S2"
},
"S2": {
"Type": "Pass",
"OutputPath": "$.Main",
"End": true
}
}
}
我的输入如下-
{
"Main": {
"Field": "field",
"Field2": "field2",
"Fruits":[]
},
"Junk": {
"Fruits":["apple", "banana", "papaya", "grapes"]
}
}
我得到的输出结果如下-
{
"Field": "field",
"Field2": "field2",
"Fruits": {
"Fruits": [
"apple",
"banana",
"papaya",
"grapes"
]
}
}
我想要的输出如下-
{
"Field": "field",
"Field2": "field2",
"Fruits": [ "apple", "banana", "papaya", "grapes" ]
}
能否请您修正步进函数,以便我得到我想要的输出。 请不要使用 lambda 函数,也请不要修改输入。
您可以像这样使用 Parameters
来实现您想要的输出:
{
"StartAt": "S1",
"States": {
"S1": {
"Type": "Pass",
"Parameters": {
"Field.$": "$.Main.Field",
"Field2.$": "$.Main.Field2",
"Fruits.$": "$.Junk.Fruits"
},
"End": true
}
}
}
但是,如果您要合并两个 JSON 对象(不知道密钥),恐怕 AWS Step Functions 尚不支持它。