本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Glue 觸發條件
當「引發」時,觸發可以啟動指定的任務和爬蟲程式。觸發可以視需要、根據排程,或是根據事件組合來引發。
注意
單一觸發只能啟動兩個爬蟲程式。如果您要編目多個資料存放區,請為每個爬蟲程式使用多個來源,而不要同時執行多個爬蟲程式。
觸發可以處於數種狀態中的其中一種。觸發可以是 CREATED
、ACTIVATED
或 DEACTIVATED
。其中也有轉換狀態,例如 ACTIVATING
。如要停止引發觸發,您可以停用觸發。您稍後可以重新啟用。
觸發有三種類型:
- Scheduled (已排程)
-
以
cron
為基礎的時間類型觸發。您可以根據排程建立一組任務或是爬蟲程式的觸發。您可以指定限制條件,例如任務或爬蟲程式的執行頻率、在一週中的哪一天執行,以及執行的時間。這些限制條件是以
cron
為基礎。當您正在設定觸發的排程時,請考慮 cron 的功能和限制。例如,如果您選擇在每個月的 31 日執行您的爬蟲程式,請注意有些月份不到 31 天。如需 Cron 的詳細資訊,請參閱 任務和爬蟲程式以時間為基礎的排程。 - 有條件
-
在上一個任務或爬蟲程式,或是多個任務或多個爬蟲程式滿足條件清單後引發的觸發。
當您建立條件式觸發時,您可以指定要監看的任務清單和爬蟲程式清單。針對每個監看的任務或爬蟲程式,您可以指定要監看的狀態,例如成功、失敗、逾時等。觸發會在監看的任務或爬蟲程式以指定狀態結束時引發。您可以設定觸發,使其在發生任何監看事件,或是所有監看事件都發生時引發。
例如,您可以設定觸發 T1 在任務 J1 和任務 J2 成功完成時啟動任務 J3,以及另外一個觸發 T2 在任務 J1 或任務 J2 失敗時啟動任務 J4。
下表列出觸發監看的任務和爬蟲程式完成狀態 (事件)。
任務完成狀態 爬蟲程式完成狀態 -
SUCCEEDED
-
STOPPED
-
FAILED
-
TIMEOUT
-
SUCCEEDED
-
FAILED
-
CANCELLED
-
- 隨需
-
在您啟用時引發的觸發。隨需觸發永遠不會進入
ACTIVATED
或DEACTIVATED
狀態。這些觸發一律會停留在CREATED
狀態。
如此一來,這些觸發便會在存在時準備就緒以供引發;您可以在建立這些觸發時設定標記來啟用排程和條件式觸發。
重要
因其他任務或爬蟲程式完成而執行的任務或爬蟲程式稱為「相依」。相依任務或爬蟲程式只有在完成的任務或爬蟲程式是由觸發啟動時,才會啟動。相依鏈中所有的任務或爬蟲程式都必須是單一 scheduled (排程) 或 on-demand (隨需) 觸發的子代。
使用觸發傳遞任務參數
觸發可以將參數傳遞至啟動的任務。參數包括任務引數、逾時值、安全組態等。如果觸發啟動多個任務,參數會傳遞至每個任務。
以下是由觸發所傳遞任務引數的規則:
-
如果鍵/值對中的鍵與預設任務引數相符,則傳遞的引數會覆寫預設引數。如果鍵與預設引數不符,則引數會做為額外引數傳遞給任務。
-
如果鍵/值對中的鍵與不可覆寫的引數相符,則會忽略傳遞的引數。
如需詳細資訊,請參閱 AWS Glue API 中的 觸發。