選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

從 Step Functions 中的內容物件存取執行資料

焦點模式
從 Step Functions 中的內容物件存取執行資料 - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理狀態和轉換資料

Step Functions 最近新增了變數,並JSONata管理狀態和轉換資料。

了解如何使用變數傳遞資料,以及使用 轉換資料JSONata

內容物件是在執行期間可用的內部JSON結構,其中包含狀態機器和執行的相關資訊。內容提供工作流程特定執行的相關資訊。您的工作流程可以使用 參考JSONata表達式中的內容物件$states.context

存取內容物件

在 中存取內容物件 JSONata

若要在 JSONata 狀態中存取內容物件,請在JSONata表達式$states.context中使用 。

{ "ExecutionID" : "{% $states.context.Execution.Id %}" }

在 中存取內容物件 JSONPath

若要存取 中的內容物件JSONPath,請先附加.$至金鑰的結尾,以指出值為路徑。然後,在值前面加上 $$.,以選取內容物件中的節點。

{ "ExecutionID.$": "$$.Execution.Id" }

JSONPath 狀態可以參考下列JSONPath欄位的內容 ($$.):

  • InputPath

  • OutputPath

  • ItemsPath (在映射狀態)

  • Variable (選擇狀態)

  • ResultSelector

  • Parameters

  • 變數對變數比較運算子的變數

內容物件欄位

內容物件包含狀態機器、狀態、執行和任務的相關資訊。此JSON物件包含每種資料類型的節點,格式如下。

{ "Execution": { "Id": "String", "Input": {}, "Name": "String", "RoleArn": "String", "StartTime": "Format: ISO 8601", "RedriveCount": Number, "RedriveTime": "Format: ISO 8601" }, "State": { "EnteredTime": "Format: ISO 8601", "Name": "String", "RetryCount": Number }, "StateMachine": { "Id": "String", "Name": "String" }, "Task": { "Token": "String" } }

在執行期間,內容物件會填入相關資料。 RedriveTime內容物件只有在您已 redriven 執行。如果您已經 redriven a Map RunRedriveTime內容物件僅適用於 Standard 類型的子工作流程。對於 redriven RedriveTime 無法使用 Express 類型的 Map Run。

正在進行中執行的內容包含以下格式的規格。

{ "Execution": { "Id": "arn:aws:states:us-east-1:123456789012:execution:stateMachineName:executionName", "Input": { "key": "value" }, "Name": "executionName", "RoleArn": "arn:aws:iam::123456789012:role...", "StartTime": "2019-03-26T20:14:13.192Z" }, "State": { "EnteredTime": "2019-03-26T20:14:13.192Z", "Name": "Test", "RetryCount": 3 }, "StateMachine": { "Id": "arn:aws:states:us-east-1:123456789012:stateMachine:stateMachineName", "Name": "stateMachineName" }, "Task": { "Token": "h7XRiCdLtd/83p1E0dMccoxlzFhglsdkzpK9mBVKZsp7d9yrT1W" } }
注意

如需與Map狀態相關的內容物件資料,請參閱 映射狀態的內容物件資料

映射狀態的內容物件資料

管理狀態和轉換資料

Step Functions 最近新增了變數,並JSONata管理狀態和轉換資料。

了解如何使用變數傳遞資料,以及使用 轉換資料JSONata

處理Map狀態時,內容物件中有兩個額外的項目: IndexValue。對於每個Map狀態反覆運算, Index 包含目前正在處理的陣列項目索引號碼,而 Value包含正在處理的陣列項目。在 Map 狀態中,內容物件包含下列資料:

"Map": { "Item": { "Index": Number, "Value": "String" } }

這些功能僅在 Map 狀態中提供,並且可以在 ItemSelector (地圖) 欄位中指定。

注意

您必須從主要Map狀態ItemSelector區塊中的內容物件定義參數,而不是在ItemProcessor區段中包含的狀態內。

使用 狀態機器時JSONPathMap,您可以從內容物件插入資訊,如下所示。

{ "StartAt": "ExampleMapState", "States": { "ExampleMapState": { "Type": "Map", "ItemSelector": { "ContextIndex.$": "$$.Map.Item.Index", "ContextValue.$": "$$.Map.Item.Value" }, "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "TestPass", "States": { "TestPass": { "Type": "Pass", "End": true } } }, "End": true } } }

如果您使用下列輸入執行先前的狀態機器,IndexValue 會插入到輸出中。

[ { "who": "bob" }, { "who": "meg" }, { "who": "joe" } ]

執行的輸出會傳回三個反覆運算中的每個 IndexValue項目的值,如下所示:

[ { "ContextIndex": 0, "ContextValue": { "who": "bob" } }, { "ContextIndex": 1, "ContextValue": { "who": "meg" } }, { "ContextIndex": 2, "ContextValue": { "who": "joe" } } ]
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。