本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
路徑
在 Amazon 州語言中,路徑是一個字串,開頭$
為可用來識別 JSON 文字中的元件。路徑遵循JsonPathInputPath
、ResultPath
和 OutputPath
的值時,您可以指定用來存取輸入子集的路徑。如需更多資訊,請參閱Step Functions 中的輸入和輸出處理。
注意
您也可以使用狀態定義中 Parameters
欄位的路徑,指定輸入或內容物件的 JSON 節點。請參閱將參數傳遞至服務 API。
如果您的欄位名稱包含 JsonPath ABNFmember-name-shorthand
定義中未包含的任何字元,則必須使用方括號標記法。因此,若要編碼特殊字元,例如標點符號 (排除_
),您必須使用方括號符號。例如 $.abc.['def ghi']
。
參考路徑
參考路徑是一種語法有限的路徑,可供僅只識別 JSON 結構中的單一節點:
-
您可以僅使用點 (
.
) 和方括號 ([ ]
) 符號來存取物件欄位。 -
不支援函數,例如
length()
。 -
詞法運算符,這是非符號的,例如
subsetof
不支持。 -
不支援依規則運算式篩選或參考 JSON 結構中的其他值。
-
不支援運算子
@
:
、、和,
?
例如,如果狀態輸入資料包含下列值:
{
"foo": 123,
"bar": ["a", "b", "c"],
"car": {
"cdr": true
}
}
下列參考路徑會傳回下列。
$.foo => 123
$.bar => ["a", "b", "c"]
$.car.cdr => true
有些狀態使用路徑和參考路徑來控制狀態機器的流程,或設定狀態的設定或選項。如需詳細資訊,請參閱使用資料流程模擬器建模工作流程輸入和輸出路徑處理
扁平化數組數組
如果狀態機器中的平行或 Map state 傳回陣列陣列陣列,您可以將它們轉換成含有ResultSelector欄位的平面陣列。您可以將此欄位包含在「平行」或「對映」狀態定義中,以操作這些狀態的結果。
若要扁平化陣列,請在ResultSelector
欄位中使用 JMESPath [*]
語法
"ResultSelector": { "flattenArray.$": "$[*][*]" }
如需示範如何平面化陣列的範例,請參閱下列自學課程中的步驟 3: