

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

# 傳遞工作流程狀態
<a name="state-pass"></a>

**管理狀態和轉換資料**  
了解如何[使用變數在狀態與使用 JSONata 轉換資料之間傳遞資料](workflow-variables.md)。 [ JSONata](transforming-data.md)

`Pass` 狀態 (`"Type": "Pass"`) 會將其輸入傳遞到其輸出，而不執行任何工作。在建構及偵錯狀態機器時，`Pass` 狀態非常實用。

您也可以使用 `Pass` 狀態來使用篩選條件轉換 JSON 狀態輸入，然後將轉換的資料傳遞至工作流程中的下一個狀態。如需輸入轉換的相關資訊，請參閱 [在 Step Functions 工作流程中操作參數](input-output-inputpath-params.md)。

除了[常見狀態欄位](statemachine-structure.md#amazon-states-language-common-fields)以外，`Pass` 狀態還允許使用下列欄位。

** `Assign` （選用，僅限 JSONata)**  
將資料指派給變數的鍵值對集合。如需詳細資訊，請參閱[使用變數在狀態之間傳遞資料](workflow-variables.md)。

**`Output` （選用，僅限 JSONata)**  
用來指定和轉換 狀態的輸出。指定時，值會覆寫狀態輸出預設值。  
輸出欄位接受任何 JSON 值 （物件、陣列、字串、數字、布林值、 null)。任何字串值，包括物件或陣列內的值，如果被 {% %} 個字元包圍，將評估為 JSONata。  
 輸出也直接接受 JSONata 表達式，例如：「輸出」：「{% jsonata 表達式 %}」   
如需詳細資訊，請參閱[在 Step Functions 中使用 JSONata 轉換資料](transforming-data.md)。

** `Result` （選用，僅限 JSONPath)**  
指傳遞至下一個狀態之虛擬任務的輸出。如果您在狀態機器定義中包含 `ResultPath` 欄位， `Result`會依 指定放置，`ResultPath`並傳遞至下一個狀態。

** `ResultPath` （選用，僅限 JSONPath)**  
指定要放置 中指定之虛擬任務*輸出* （相對於輸入） 的位置`Result`。輸入會先依據 `OutputPath` 欄位 (如果有的話) 所指定進一步篩選，而後做為狀態的輸出。如需詳細資訊，請參閱[在 Step Functions 中處理輸入和輸出](concepts-input-output-filtering.md)。

** `Parameters` （選用，僅限 JSONPath)**  
建立將做為輸入傳遞的鍵值對集合。您可以指定 `Parameters`做為靜態值，或使用路徑從輸入中選取 。如需詳細資訊，請參閱[在 Step Functions 工作流程中操作參數](input-output-inputpath-params.md)。

## 通過狀態範例 (JSONPath)
<a name="pass-state-example"></a>

以下是 `Pass` 狀態的範例，該範例會將一些固定資料插入狀態機器 (可能用於進行測試)。

```
"No-op": {
  "Type": "Pass",
  "Result": {
    "x-datum": 0.381018,
    "y-datum": 622.2269926397355
  },
  "ResultPath": "$.coords",
  "End": true
}
```

假設此狀態的輸入如下。

```
{
  "georefOf": "Home"
}
```

然後，輸出會是這個。

```
{
  "georefOf": "Home",
  "coords": {
    "x-datum": 0.381018,
    "y-datum": 622.2269926397355
  }
}
```