簡體   English   中英

在步驟 Function 中,如何將標量數組轉換為字典數組?

[英]In a Step Function, how do I convert an array of scalars into an array of dictionaries?

步驟的輸入 - 如何修改步驟 function 中的步驟輸入:

{
    "A": "X",
    "B": "Y",
    "C": [
        "Z1",
        "Z2",
        "Z3"
    ]
}

並轉換成這個

{
    "A": "X",
    "B": "Y",
    "C": [
        {
            "Z": "Z1"
        },
        {
            "Z": "Z2"
        },
        {
            "Z": "Z3"
        }
    ]
}

使用 ASL 或 C# CDK。 我嘗試使用以下方法將字符串數組轉換為元素數組:

        "Modify Input": {
            "Type": "Pass",
            "Parameters": {
                "A": "$.A",
                "B": "$.B",
                "C": [
                    {
                        "Z": "States.array($.C)"
                    }
                ]
            }

Append. .$如果值為JsonPath 替換,則為鍵名。 如果沒有它,Step Functions 會將值視為字符串文字。 使用States.ArrayGetItem 內在 function在索引處選擇項目:

{
  "A.$": "$.A",
  "B.$": "$.B",
  "C": [
    { "Z.$": "States.ArrayGetItem($.C,0)" },
    { "Z.$": "States.ArrayGetItem($.C,1)" },
    { "Z.$": "States.ArrayGetItem($.C,2)" }
  ]
}

CDK 接受這些文字值。 它還提供了可選的JsonPath class,它公開了內部類的方法並允許您從鍵名中省略.$ 無論哪種方式,CDK 都會發出相同的 State 機器定義 output。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM