我想使用 AWS Glue 工作流程以在編目程式執行完成時自動開始任務。
簡短說明
若要在編目程式執行完成時開始任務,請建立 AWS Glue 工作流程和兩個觸發條件。一個觸發條件是針對編目程式,另一個觸發條件則是針對任務。此方法需要您從 AWS Glue 主控台的 Workflows (工作流程) 頁面開始編目程式。
注意: 您也可以使用 AWS Lambda 函數和 Amazon EventBridge 規則來自動執行任務。若選擇此選項,Lambda 函數會始終處於開啟狀態。無論您在何處或何時啟動此函數,它都會監控編目程式。如需詳細資訊,請參閱如何使用 Lambda 函數在爬蟲程式執行完成時自動啟動 AWS Glue 任務?
解決方法
先決條件: 若要完成解決步驟,您必須擁有 AWS Glue 擷取、轉換和載入 (ETL) 任務以及 AWS Glue 編目程式。您也必須擁有適用於 AWS Glue 的 AWS Identity and Access Management (IAM) 的角色,該角色已連接 AWSGlueServiceRole 政策。
建立工作流程
請完成下列步驟:
- 開啟 AWS Glue 主控台。
- 在導覽窗格中,選擇 Workflows(工作流程),然後選擇 Add workflow(新增工作流程)。
- 輸入工作流程的名稱,然後選擇 Add workflow(新增工作流程)。新的工作流程會顯示在工作流程頁面上的清單中。
為編目程式建立觸發條件
請完成下列步驟:
- 在 Workflows (工作流程) 頁面上,選取新的工作流程,然後選擇 Graph (圖表) 標籤。
- 選擇 Add trigger(新增觸發條件),然後選擇 Add new(新增)標籤。針對觸發條件類型,選擇 On demand(隨需)。
- 選擇 Add(新增)。觸發條件會顯示在圖表上。
- 在圖表上,選擇 Add node(新增節點)。
- 在 Crawlers(爬蟲程式)標籤上,選取您的爬蟲程式,然後選擇 Add(新增)。
為 AWS Glue 任務建立觸發條件
請完成下列步驟:
- 在圖表上面的 Action (動作) 功能表上,選擇 Add trigger (新增觸發條件)。
- 選擇 Add new (新增) 標籤,然後選取下列選項:
在 Trigger type (觸發條件類型) 中,選擇 Event (事件)。
在 Trigger logic (觸發條件邏輯) 中,選擇 Start after ALL watched event (在所有已監看事件後開始)。
- 選擇 Add(新增)。觸發條件會顯示在圖表上。
- 在圖表上,在您剛建立的任務觸發條件的左側,選擇 Add node (新增節點)。
- 在 Crawlers(爬編目程式)標籤上,選取您的爬蟲程式,然後選擇 Add(新增)。觸發條件會顯示在圖表上。
- 在圖表上,在您剛建立的任務觸發條件的右側,選擇 Add node(新增節點)。
- 在 Jobs(任務)標籤上,選取在爬蟲程式執行完成時要啟動的任務,然後選擇 Add(新增)。
測試工作流程
請完成下列步驟:
- 在 Actions (動作) 功能表上,在 Add workflow (新增工作流程) 按鈕旁邊,選擇 Run (執行)。上次執行狀態欄會變更為執行中。
- 檢查 Graph(圖表)標籤以查看工作流程的狀態。或者,開啟對應的爬蟲程式或任務,以確認它正在執行。
相關資訊
在 AWS Glue 中手動建立和建置工作流程