使用 Amazon EventBridge 排程器啟動 Step Functions 狀態機器執行 - AWS Step Functions

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

使用 Amazon EventBridge 排程器啟動 Step Functions 狀態機器執行

Amazon EventBridge Scheduler 是無伺服器排程器,可讓您從單一中央受管服務建立、執行和管理任務。使用 EventBridge Scheduler,您可以使用循環模式的 cron 和速率運算式來建立排程,或設定一次性呼叫。您可以設定彈性的傳送時間範圍、定義重試限制,以及設定失敗API呼叫的最長保留時間。

例如,使用 EventBridge Scheduler,您可以在發生安全性相關事件時按排程啟動狀態機器執行,或將資料處理工作自動化。

本頁說明如何使用「 EventBridge 排程器」,按排程開始執行「Step Functions」狀態機器。

設定執行角色

當您建立新排程時, EventBridge 排程器必須具有代表您呼叫其目標API作業的權限。您可以使用執行角色將這些權限授與 EventBridge 「排程器」。排程執行角色所連接的許可政策會定義哪些是必要許可。這些權限取決於API您希望 EventBridge 排程器呼叫的目標。

當您使用「 EventBridge 排程器」主控台建立排程時,如下列程序所示, EventBridge Scheduler 會根據您選取的目標自動設定執行角色。如果您想要使用其中一個排 EventBridge 程器SDKs、或來建立排程 AWS CLI AWS CloudFormation,您必須具有現有的執行角色,以授與 EventBridge 排程器呼叫目標所需的權限。如需有關手動設定排程執行角色的詳細資訊,請參閱《EventBridge 排程器使用指南》中的 < 設定執行角色 >。

建立排程

使用主控台建立排程
  1. https://console.aws.amazon.com/scheduler/家中打開 Amazon EventBridge 調度程序控制台。

  2. 排程頁面上,選擇建立排程

  3. 指定排程詳細資訊頁面的排程名稱和描述區段中,執行以下動作:

    1. 排程名稱中,輸入排程的名稱,例如:MyTestSchedule

    2. (選用) 在描述中,輸入對排程的描述,例如:My first schedule

    3. 針對排程群組,從下拉式清單中選擇排程群組。如果您沒有群組,請選擇預設值。若要建立排程群組,請選擇建立自己的排程

      您可以使用排程群組,為不同群組的排程加上標籤。

    1. 選擇排程選項。

      頻率 執行此作業...

      一次性排程

      一次性排程只會在您指定的日期與時間調用目標一次。

      針對日期和時間執行以下動作:

      • YYYY/MM/DD 格式輸入有效日期。

      • hh:mm 格式輸入時間戳記 (24 小時)。

      • 針對時區選擇時區。

      週期性排程

      週期性排程會依您指定的頻率,使用 cron 或 Rate 運算式調用目標。

      1. 排程模式中,執行下列其中一項動作:

      2. 對於彈性時段,選擇關閉可關閉此選項,或者也能選擇其中一個預先定義的時間範圍。例如,如果您選擇 15 分鐘並設定週期性排程,每小時調用目標一次,則排程會在每小時一開始的 15 分鐘內執行。

  4. (選用) 如果您在上一個步驟中選擇週期性排程,請在時間範圍區段執行以下動作:

    1. 針對時區選擇時區。

    2. 對於開始日期和時間,依 YYYY/MM/DD 格式輸入有效日期,接著依 24 小時的 hh:mm 格式指定時間戳記。

    3. 對於結束日期和時間,依 YYYY/MM/DD 格式輸入有效日期,接著依 24 小時的 hh:mm 格式指定時間戳記。

  5. 選擇 Next (下一步)

  6. 在「選取目標」 頁面上,選擇「 EventBridge 排程器」呼叫的 AWS API作業:

    1. 選擇AWS Step Functions StartExecution

    2. StartExecution區段中,選取狀態機或選擇建立新狀態機

      目前,您無法依排程執行「同步快速」工作流程。

    3. 輸入執行的JSON承載。即使您的狀態機不需要任何JSON裝載,您仍必須依照下列範例所示的JSON格式包含輸入。

      { "Comment": "sampleJSONData" }
  7. 選擇 Next (下一步)

  8. 設定頁面執行以下動作:

    1. 若要開啟排程,請在排程狀態底下切換到啟用排程

    2. 若要設定排程的重試原則,請在重試原則和無效字母佇列 (DLQ) 下,執行下列動作:

      • 切換到重試

      • 針對事件的保留時間上限,輸入 EventBridge 排程器必須保留未處理事件的大小時數和最小時數。

      • 時間最長可設為 24 小時。

      • 針對重試次數上限,輸入目標傳回錯誤時, EventBridge 排程器重試排程的次數上限。

        最大值為重試 185 次。

      使用重試原則時,如果排程無法呼叫其目標, EventBridge 排程器會重新執行排程。一旦設定此功能,您就必須設定排程的最長保留時間和重試次數。

    3. 選擇 EventBridge 排程器儲存未傳遞事件的位置。

      無效字母佇列 () DLQ 選項 執行此作業...
      不儲存 選擇
      將活動儲存在建立排程的相同 AWS 帳戶 位置
      1. 選擇選擇一個 Amazon SQS 隊列在我 AWS 帳戶 作為一個DLQ.

      2. 選擇 Amazon SQS 隊列的 Amazon 資源名稱(ARN)。

      將活動儲存在與建立排程不同 AWS 帳戶 的位置
      1. 選擇 AWS 帳戶 將其他 Amazon SQS 佇列指定為DLQ

      2. 輸入 Amazon SQS 隊列的 Amazon 資源名稱(ARN)。

    4. 若要使用由客戶管理的金鑰加密您的目標輸入,請在加密底下選擇自訂加密設定 (進階)

      如果您選擇此選項,請輸入現有的KMS金鑰ARN或選擇 [建立] AWS KMS key以瀏覽主 AWS KMS 控台。如需 EventBridge 排程器如何加密靜態資料的詳細資訊,請參閱 Amazon EventBridge 排程器使用者指南中的靜態加密

    5. 若要讓 EventBridge 排程器為您建立新的執行角色,請選擇 [為此排程建立新角色]。接著輸入角色名稱。如果您選擇此選項, EventBridge Scheduler 會將範本化目標所需的必要權限附加至角色。

  9. 選擇 Next (下一步)

  10. 檢閱和建立排程頁面上,檢閱排程的詳細資訊。在每個區段中選擇編輯,即可返回該步驟並編輯其詳細資訊。

  11. 選擇建立排程

    您可以在排程頁面檢視新建立和現有的排程。在狀態欄底下,確認您的新排程狀態為已啟用

若要確認 EventBridge 排程器是否呼叫狀態機器,請檢查狀態機器的 Amazon CloudWatch 記錄

如需有關 EventBridge 排程器的詳細資訊,請參閱下列內容: