教學課程:使用 EventBridge 輸入轉換器,依排程將事件資訊傳遞至 AWS Batch 目標 - AWS Batch

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

教學課程:使用 EventBridge 輸入轉換器,依排程將事件資訊傳遞至 AWS Batch 目標

您可以使用 EventBridge 輸入轉換器,在任務提交 AWS Batch 中將事件資訊傳遞至 。如果您因為其他 AWS 事件資訊而調用任務,這特別重要。其中一個範例是物件上傳至 Amazon S3 儲存貯體。您也可以在容器命令中使用任務定義與參數替代值。EventBridge 輸入轉換器可以根據事件資料提供參數值。

然後,您會建立 AWS Batch 事件目標,從啟動該目標的事件剖析資訊,並將其轉換為parameters物件。當任務執行時,觸發事件的參數會傳遞至任務容器的 命令。

注意

在此案例中,所有 AWS 資源 (例如 Amazon S3 儲存貯體、EventBridge 規則和 CloudTrail 日誌) 都必須位於相同的區域。

建立使用輸入轉換器 AWS Batch 的目標
  1. 前往 https://console.aws.amazon.com/events/ 開啟 Amazon EventBridge 主控台。

  2. 從導覽列中,選取要 AWS 區域 使用的 。

  3. 在導覽窗格中,選擇規則

  4. 選擇建立規則

  5. 針對名稱,指定運算環境的唯一名稱。名稱最多可包含 64 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (_)。

    注意

    規則不能與相同 和相同事件匯流排 AWS 區域 上的另一個規則具有相同的名稱。

  6. (選用) 針對描述,輸入規則的描述。

  7. 針對事件匯流排,選擇要與此規則建立關聯的事件匯流排。如果您想要此規則匹配來自您的帳戶的事件,請選取預設值。當您 AWS 服務 帳戶中的 發出事件時,一律會傳送至您帳戶的預設事件匯流排。

  8. (選用) 如果您不想立即執行規則,請關閉所選匯流排上的規則。

  9. 針對規則類型,選擇排程

  10. 選擇繼續以建立規則下一步

  11. 針對 Schedule pattern (排程模式),執行下列其中一項動作:

    • 選擇在特定時間執行的精細排程,例如上午 8:00 每月第一個星期一的 PST,然後輸入 Cron 表達式。如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的 Cron Expressions

    • 選擇以一般速率執行的排程,例如每 10 分鐘。 然後輸入速率表達式。

  12. 選擇 Next (下一步)

  13. 對於 Target types (目標類型),選擇 AWS 服務

  14. 針對選取目標,選擇批次任務佇列。然後,設定下列項目:

    • Job queue (任務佇列):輸入任務佇列的 Amazon Resource Name (ARN) 以排程任務。

    • Job definition (任務定義):輸入用於任務之任務定義的名稱,及其修訂版或完整 ARN。

    • Job name (任務名稱):輸入任務的名稱。

    • Array size (陣列大小):(選擇性) 輸入任務要執行多個副本的陣列大小。如需詳細資訊,請參閱陣列任務

    • Job attempts (任務嘗試):(選擇性) 輸入任務失敗時的重試次數。如需詳細資訊,請參閱自動化任務重試

  15. 對於 Batch job queue (批次任務佇列) 目標類型而言,EventBridge 需要許可才能將事件傳送到目標。EventBridge 可建立執行您的規則所需的 IAM 角色。執行以下任意一項:

    • 若要自動建立 IAM 角色,請選擇為此特定資源建立新角色

    • 若要使用您已建立的 IAM 角色,請選擇使用現有角色

  16. (選用) 展開 Additional settings (其他設定)

  17. Additional settings (其他設定) 區段中,針對 Configure target input (設定目標輸入),選擇 Input Transformer (輸入轉換器)。

  18. 選擇設定輸入轉換器

  19. (選用) 針對範例事件

    1. 針對範例事件類型,選擇AWS 事件

    2. 針對範例事件,選擇批次任務狀態變更

  20. Target input transformer (目標輸入轉換器) 區段中,針對 Input path (輸入路徑),指定透過觸發事件剖析的值。例如,若要剖析批次任務狀態變更事件,請使用下列 JSON 格式。

    { "instance": "$.detail.jobId", "state": "$.detail.status" }
  21. 範本中,輸入以下內容。

    { "instance": <jobId> , "status": <status> }
  22. 選擇確認

  23. 針對事件的最長存留期,請指定未處理事件保留多久的時間間隔。

  24. 針對重試嘗試,輸入事件重試的次數。

  25. 針對無效字母佇列,選擇未處理事件的處理方式選項。如有必要,請指定要用作無效字母佇列的 Amazon SQS 佇列。

  26. (選用) 選擇新增另一個目標以新增其他目標。

  27. 選擇 Next (下一步)

  28. (選用) 針對標籤,選擇新增標籤以新增資源標籤。如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的 Amazon EventBridge 標籤

  29. 選擇 Next (下一步)

  30. 針對檢閱和建立,請檢閱組態步驟。如需變更,請選擇 Edit (編輯)。完成後,請選擇建立規則