任務和爬蟲程式以時間為基礎的排程 - AWS Glue

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

任務和爬蟲程式以時間為基礎的排程

您可以在 AWS Glue 中為爬蟲程式和工作定義以時間為基礎的排程。這些排程的定義使用類似 Unix 的 ​cron​ 語法。以世界協調時間 (UTC) 指定時間,且排程的最小精度為 5 分鐘。

若要進一步了解設定任務和爬蟲程式以使用排程進行執行的相關資訊,請參閱使用觸發啟動任務和爬蟲程式

Cron 表達式

Cron 表達式有六個必要欄位,以空格隔開。

Syntax (語法)

cron(Minutes Hours Day-of-month Month Day-of-week Year)
欄位 Values (數值) Wildcards (萬用字元)

分鐘

0–59

, - * /

小時

0–23

, - * /

月中的日

1–31

, - * ? / L W

1-12 或 JAN-DEC

, - * /

週中的日

1-7 或 SUN-SAT

, - * ? / L

1970-2199

, - * /

萬用字元
  • , (逗號) 萬用字元包含額外的值。在 Month 欄位,JAN,FEB,MAR 包括 January (一月)、February (二月)、March (三月)。

  • - (破折號) 萬用字元用於指定範圍。在 Day 欄位中,1–15 包含指定月份的 1 至 15 號。

  • * (星號) 包含欄位中所有的值。在 Hours 欄位,* 包含每個小時。

  • / (斜線) 萬用字元用於指定增量。在 Minutes 欄位,您可以輸入 1/10 指定每 10 分鐘的間隔,從小時的第一分鐘開始 (例如第 11、第 21、第 31 分鐘)。

  • ? (問號) 萬用字元用於表示不限定任何一個。在 Day-of-month 欄位,您可以輸入 7,如果您不在意這個月的 7 號是星期幾,就可以在 Day-of-week (週中的日) 欄位中輸入 ?

  • L 萬用字元在 Day-of-monthDay-of-week 欄位可指定月份或週的最後一天。

  • W 萬用字元在 Day-of-month 欄位可指定任務日。在 Day-of-month 欄位,3W 指定的是月份中最接近第三個任務日的日子。

限制
  • 您無法在同一個 cron 表達式中指定 Day-of-monthDay-of-week 欄位。如果您在其中一個欄位指定了數值,就必須在另一個欄位中使用 ? (問號)​。

  • 不支援頻率多於 5 分鐘的 Cron 表達式。

範例

建立排程時,您可以使用下列 cron 字串範例。

分鐘 小時 月中的日 週中的日 意義

0

10

*

*

?

*

在每天上午 10:00 (UTC) 執行

15

12

*

*

?

*

在每天下午 12:15 (UTC) 執行

0

18

?

*

MON-FRI

*

在每週一至週五下午 6:00 (UTC) 執行

0

8

1

*

?

*

在每個月第一天上午 8:00 (UTC) 執行

0/15

*

*

*

?

*

每 15 分鐘執行

0/10

*

?

*

MON-FRI

*

在週一至週五每 10 分鐘執行

0/5

8-17

?

*

MON-FRI

*

在週一至週五上午 8:00 至下午 5:55 (UTC) 之間每 5 分鐘執行

舉例來說,如果要在每天的 12:15 (UTC) 執行某項動作,則可指定如下:

cron(15 12 * * ? *)