Step Functions 工作流程中狀態機器別名 - AWS Step Functions

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

Step Functions 工作流程中狀態機器別名

別名是最多兩個版本的相同狀態機的指針。您可以為狀態機器建立多個別名。每個別名都有一個唯一的 Amazon 資源名稱 (ARN)。別名ARN是狀態機ARN和別名名稱的組合,以冒號 (:) 分隔。下列範例顯示狀態機器別名的格式ARN。

arn:partition:states:region:account-id:stateMachine:myStateMachine:aliasName

您可以使用別名在兩個狀態機器版本之一之間路由流量。您也可以建立指向單一版本的別名。別名只能指向狀態機器版本。您不能使用別名來指向另一個別名。您也可以更新別名,以指向不同版本的狀態機器。

顯示別名將 80% 的要求傳送至 v1,以及將 20% 傳送至 v2 的別名。

建立狀態機器別名 (主控台)

您可以使用 Step Functions 主控台或呼叫CreateStateMachineAliasAPI動作,為每個狀態機器建立最多 100 個別名。若要要求提高此軟限制,請使用 [Sup port 中心] 頁面 AWS Management Console。 從主控台或呼叫DeleteStateMachineAliasAPI動作來刪除未使用的別名。

建立狀態機別名的步驟
  1. 開啟 Step Functions 主控台,然後選擇現有的狀態機器。

  2. 狀態機器詳細資訊頁面上,選擇名索引標籤。

  3. 選擇 [建立新別名]。

  4. Create alias (建立別名) 頁面,執行下列動作:

    1. 輸入別名

    2. (選用) 輸入別名的 Description (描述)

  5. 若要在別名上設定路由,請參閱別名路由組態

  6. 選擇 [建立別名]。

使用 Step Functions API 作業管理別名

Step Functions 提供下列API作業,您可以使用這些作業來建立和管理狀態機器別名或取得有關別名的資訊:

若要建立指向myStateMachine使PROD用命名之狀態機器版本 1 的別名 AWS Command Line Interface,使用指create-state-machine-alias令。

aws stepfunctions create-state-machine-alias --name PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",\"weight\":100}]"

別名路由組態

您可以使用別名在兩個版本的狀態機器之間路由執行流量。例如,假設您想要啟動狀態機的新版本。您可以在別名上設定路由,以降低部署新版本所涉及的風險。透過設定路由,您可以將大部分流量傳送到狀態機器的早期測試版本。然後,新版本可以獲得較小的百分比,直到您可以確認可以安全地向前滾動新版本。

若要定義路由組態,請確定您已發佈別名指向的兩個狀態機器版本。當您從別名開始執行時,Step Functions 會隨機選擇要從路由組態中指定的版本執行的狀態機器版本。它會根據您指派給別名路由組態中每個版本的流量百分比為基礎,此選擇。

若要在別名上設定路由組態
  • 在 [建立別名] 頁面的 [路由組態] 下,執行下列動作:

    1. 對於版本,選擇別名指向的第一個狀態機器版本。

    2. 選取「在兩個版本之間分割流量」核取方塊。

      提示

      若要指向單一版本,請清除「在兩個版本之間分割流量」核取方塊。

    3. 版本中,選擇別名必須指向的第二個版本。

    4. 在「流量百分比」欄位中,指定要路由到每個版本的流量百分比。例如,輸入6040將 60% 的執行流量路由到第一個版本,將 40% 的流量路由傳送至第二個版本。

      合併的流量百分比必須等於 100%。

使用別名運行狀態機(控制台)

您可以從控制台或使用別名調用動作以使用別名來啟StartExecutionAPI動狀態機器執行。ARNStep Functions 然後運行別名指定的版本。根據預設,如果您在啟動狀態機器執行時未指定版本或別名,Step Functions 會使用最新的修訂版本。

若要使用別名啟動狀態機執行
  1. 開啟 Step Functions 主控台,然後選擇您已為其建立別名的現有狀態機器。如需建立別名的資訊,請參閱建立狀態機器別名 (主控台)

  2. 狀態機器詳細資訊頁面上,選擇名索引標籤。

  3. 在「名」段落中,執行下列動作:

    1. 選取您要開始執行的別名。

    2. 選擇 Start execution (開始執行)

  4. (選擇性) 在 [開始執行] 對話方塊中,輸入執行項目的名稱。

  5. 如果需要,請輸入執行輸入,然後選擇 [開始執行]。