[英]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.