

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

# Step Functions 如何將執行與版本或別名建立關聯
<a name="execution-alias-version-associate"></a>

Step Functions 會根據您用來叫用 [StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html) API 動作的 Amazon Resource Name (ARN)，將執行與版本或別名建立關聯。Step Functions 會在執行開始時間執行此動作。

您可以使用合格或不合格的 ARN 啟動狀態機器執行。
+ **合格 ARN** – 是指以版本編號或別名名稱結尾的狀態機器 ARN。

  下列合格 ARN 範例是指名為 `3`的狀態機器版本`myStateMachine`。

  ```
  arn:aws:states:region:account-id:stateMachine:myStateMachine:3
  ```

  下列合格 ARN 範例是指名為 之狀態機器`PROD`的別名`myStateMachine`。

  ```
  arn:aws:states:region:account-id:stateMachine:myStateMachine:PROD
  ```
+ **不合格的 ARN** – 是指沒有版本號碼或別名名稱尾碼的狀態機器 ARN。

  ```
  arn:aws:states:region:account-id:stateMachine:myStateMachine
  ```

例如，如果您的合格 ARN 參考版本 `3`，Step Functions 會將執行與此版本建立關聯。它不會將執行與指向版本 的任何別名建立關聯`3`。

如果您合格的 ARN 參考別名，Step Functions 會將執行與該別名和別名指向的版本建立關聯。執行只能與一個別名建立關聯。

**注意**  
如果您使用不合格的 ARN 啟動執行，即使版本使用相同的狀態機器 ，Step Functions 也不會將該執行與版本建立關聯[revision](concepts-cd-aliasing-versioning.md#statemachinerev)。例如，如果第 3 版使用最新的修訂版，但您使用不合格的 ARN 啟動執行，則 Step Functions 不會將該執行與第 3 版建立關聯。

## 檢視從版本或別名開始的執行
<a name="view-version-alias-executions"></a>

Step Functions 提供下列方式，可讓您檢視從版本或別名開始的執行：

### 使用 API 動作
<a name="view-executions-api-actions"></a>

您可以透過叫用 [DescribeExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) 和 [ListExecutions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_ListExecutions.html) API 動作來檢視與版本或別名相關聯的所有執行。這些 API 動作會傳回用來啟動執行的版本或別名的 ARN。這些動作也會傳回其他詳細資訊，包括執行的狀態和 ARN。

您也可以提供狀態機器別名 ARN 或版本 ARN，列出與特定別名或版本相關聯的執行。

下列 [ListExecutions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_ListExecutions.html) API 動作的範例回應顯示用於啟動名為 *myFirstExecution* 之狀態機器執行的別名 ARN。

下列程式碼片段中的*斜體*文字代表資源特定資訊。

```
{
    "executions": [
        {
            "executionArn": "arn:aws:states:region:account-id:execution:myStateMachine:myFirstExecution",
            "stateMachineArn": "arn:aws:states:region:account-id:stateMachine:myStateMachine",
            "stateMachineAliasArn": "arn:aws:states:region:account-id:stateMachine:myStateMachine:PROD",
            "name": "myFirstExecution",
            "status": "SUCCEEDED",
            "startDate": "2023-04-20T23:07:09.477000+00:00",
            "stopDate": "2023-04-20T23:07:09.732000+00:00"
        }
    ]
}
```

### 使用 Step Functions 主控台
<a name="view-executions-console"></a>

您也可以從 [Step Functions 主控台檢視版本或別名啟動的](https://console.aws.amazon.com/states/home?region=us-east-1#/)執行。下列程序說明如何檢視從特定版本開始的執行：

1. 開啟 [Step Functions 主控台](https://console.aws.amazon.com/states/home?region=us-east-1#/)，然後選擇您已發佈[版本](concepts-state-machine-version.md#procedure-create-versions)或建立[別名](concepts-state-machine-alias.md#procedure-create-aliases)的現有狀態機器。此範例說明如何檢視從特定狀態機器版本開始的執行。

1. 選擇**版本**索引標籤，然後從版本清單中選擇**版本**。
**提示**  
依屬性或值方塊篩選，以搜尋特定版本。

1. 在*版本詳細資訊頁面上*，您可以看到從所選版本開始的所有進行中和過去狀態機器執行的清單。

下圖顯示*版本詳細資訊*主控台頁面。此頁面列出由名為 之狀態機器第 *4* 版啟動的執行`MathAddDemo`。此清單也會顯示由名為 的別名啟動的執行`PROD`。此別名會將執行流量路由到第 *4* 版。

![\[狀態機器版本詳細資訊主控台頁面的說明性螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/step-functions/latest/dg/images/view-version-executions.png)


### 使用 CloudWatch 指標
<a name="view-executions-metrics"></a>

對於您以 開頭的每個狀態機器執行[Qualified ARN](#qualifiedARN)，Step Functions 會發出其他指標，其名稱和值與目前發出的指標相同。這些額外的指標包含每個版本識別符的維度，以及您啟動執行的別名名稱。透過這些指標，您可以在版本層級監控狀態機器執行，並判斷何時可能需要回復案例。您也可以根據這些指標[建立 Amazon CloudWatch 警示](procedure-cw-metrics.md#monitoring-using-cloudwatch-console-set-alarm)。

Step Functions 會針對您以別名或版本開頭的執行發出下列指標：
+ `ExecutionTime`
+ `ExecutionsAborted`
+ `ExecutionsFailed`
+ `ExecutionsStarted`
+ `ExecutionsSucceeded`
+ `ExecutionsTimedOut `

如果您使用版本 ARN 開始執行，Step Functions 會使用 發佈指標，`StateMachineArn`並使用 `StateMachineArn`和 `Version`維度發佈第二個指標。

如果您使用別名 ARN 開始執行，Step Functions 會發出下列指標：
+ 不合格的 ARN 和版本的兩個指標。
+ 具有 `StateMachineArn`和 `Alias`維度的指標。