

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

# Amazon EventBridge 排程器
<a name="using-eventbridge-scheduler"></a>

[Amazon EventBridge 排程器](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)是無伺服器排程器，可讓您從單一受管的中央服務建立、執行及管理任務。使用 EventBridge 排程器，您可以使用週期性模式的 Cron 和 Rate 表達式來建立排程，或設定一次性調用。您可以設定彈性的交付時段、定義重試次數上限，以及設定失敗的 API 調用的最長保留時間。

![\[在特定時間或定義的間隔，排程會將任務傳送至您指定的 AWS 服務 API。\]](http://docs.aws.amazon.com/zh_tw/eventbridge/latest/userguide/images/schedule-types_eventbridge_conceptual.svg)


EventBridge 排程器可高度自訂，並提供比 [EventBridge 排程規則](eb-create-rule-schedule.md)更佳的可擴展性，具有更廣泛的目標 API 操作 AWS 和服務。我們建議您使用 EventBridge 排程器，依照排程調用目標。

## 設定執行角色
<a name="using-eventbridge-scheduler-execution-role"></a>

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

 您在 EventBridge 排程器主控台建立排程時 (如以下程序所述)，EventBridge 排程器會根據您選取的目標自動設定執行角色。如果您想要使用其中一個 EventBridge 排程器 SDKs、 AWS CLI或 建立排程 CloudFormation，您必須擁有現有的執行角色，授予 EventBridge 排程器調用目標所需的許可。如需手動設定排程執行角色的詳細資訊，請參閱《EventBridge 排程器使用者指南》**中的[設定執行角色](https://docs.aws.amazon.com/scheduler/latest/UserGuide/setting-up.html#setting-up-execution-role)。

## 相關資源
<a name="using-eventbridge-scheduler-related-resources"></a>

 如需 EventBridge 排程器的詳細資訊，請參閱下列內容：
+ [EventBridge 排程器使用者指南](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)
+ [EventBridge 排程器 API 參考](https://docs.aws.amazon.com/scheduler/latest/APIReference/Welcome.html)
+ [EventBridge 排程器定價](https://aws.amazon.com/eventbridge/pricing/#Scheduler)

## 建立排程
<a name="using-eventbridge-scheduler-create"></a>

**使用主控台建立排程**

1. 前往 [https://console.aws.amazon.com/scheduler/home](https://console.aws.amazon.com/scheduler/home/) 開啟 Amazon EventBridge 排程器。

1.  在**排程**頁面上，選擇**建立排程**。

1.  在**指定排程詳細資訊**頁面的**排程名稱和描述**區段中，執行以下動作：

   1. 在**排程名稱**中，輸入排程的名稱，例如 **MyTestSchedule**。

   1. (選用) 在**描述**中，輸入對排程的描述，例如 **My first schedule**。

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

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

1. 

   1. 選擇排程選項。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/eventbridge/latest/userguide/using-eventbridge-scheduler.html)

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

   1. 針對**時區**選擇時區。

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

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

1. 選擇**下一步**。

1. 在**選取目標**頁面上，選擇 EventBridge 排程器叫用的 AWS API 操作：

   1. 針對**目標 API**，選擇**範本化目標**。

   1. 選擇 **Amazon EventBridge PutEvents**。

   1. 在 **PutEvents** 下，指定下列項目：
      + 針對 **EventBridge 事件匯流排**，從下拉式選單中選擇事件匯流排。例如 **default**。

        您也可以選擇**建立新的事件匯流排**，在 EventBridge 主控台中建立新的事件匯流排。
      + 如需**詳細資訊類型**，請輸入您要比對之事件的詳細資訊類型。例如 **Object Created**。
      + 針對**來源**，輸入作為事件來源的服務名稱。

        針對 AWS 服務事件，指定服務字首做為來源。請勿包含 `aws.` 前綴。例如，針對 Amazon S3 事件，請輸入 **s3**。

        若要判斷服務的字首，請參閱《服務授權參考》**中的[條件索引鍵資料表](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html#context_keys_table)。如需來源和詳細資訊類型事件值的詳細資訊，請參閱《 [AWS 事件參考》中的服務事件中繼資料](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html)。＞。 **
      + (選用)：針對**詳細資訊**，請輸入事件模式，以進一步篩選 EventBridge 排程器傳送至 EventBridge 的事件。

        如需詳細資訊，請參閱[建立 Amazon EventBridge 事件模式](eb-event-patterns.md)。

1. 選擇**下一步**。

1. 在**設定**頁面執行以下動作：

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

   1. 若要設定排程的重試政策，請在**重試政策和無效字母佇列 (DLQ)** 底下執行以下動作：
      + 切換到**重試**。
      + 針對**事件的最長存留期**，輸入 EventBridge 排程器保留未處理事件的最大**時數**和**分鐘數**。
      + 時間最長可設為 24 小時。
      + 針對**重試次數上限**，輸入目標傳回錯誤時，EventBridge 排程器重新嘗試執行排程的次數上限。

         最大值為重試 185 次。

      設定好重試政策後，如果排程無法調用其目標，EventBridge 排程器會重新執行排程。一旦設定此功能，您就必須設定排程的最長保留時間和重試次數。

   1. 選擇 EventBridge 排程器儲存未交付事件的位置。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/eventbridge/latest/userguide/using-eventbridge-scheduler.html)

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

      如果選擇此選項，請輸入現有的 KMS 金鑰 ARN，或選擇**建立 AWS KMS key**，以導覽至 AWS KMS 控制台。如需 EventBridge 排程器如何加密靜態資料的詳細資訊，請參閱《Amazon EventBridge 排程器使用者指南》中的[靜態加密](https://docs.aws.amazon.com/scheduler/latest/UserGuide/encryption-rest.html)**。

   1. 若要讓 EventBridge 排程器為您建立新的執行角色，請選擇**為此排程建立新角色**。接著輸入**角色名稱**。如果您選擇此選項，EventBridge 排程器會將範本化目標所需的必要許可與角色連接。

1. 選擇**下一步**。

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

1. 選擇**建立排程**。

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

# 在 Amazon EventBridge 中建立排程規則 （舊版）
<a name="eb-create-rule-schedule"></a>

**注意**  
排程規則是 EventBridge 的舊版功能。  
EventBridge 提供更靈活且強大的方法來集中大規模建立、執行和管理排程任務：EventBridge 排程器。使用 EventBridge 排程器，您可以使用週期性模式的 Cron 和 Rate 表達式來建立排程，或設定一次性調用。您可以設定彈性的交付時段、定義重試次數上限，以及設定失敗的 API 調用的最長保留時間。  
排程器可高度自訂，並透過更廣泛的目標 API 操作 AWS 和服務，提供比排程規則更高的可擴展性。我們建議您使用排程器來排程叫用目標。  
如需詳細資訊，請參閱 [建立排程](using-eventbridge-scheduler.md#using-eventbridge-scheduler-create)或 *[EventBridge 排程器使用者指南](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)*。

在 EventBridge 中，您可以建立兩種類型的排程規則：
+ 以一般費率執行的規則

  EventBridge 會定期執行這些規則，例如，每 20 分鐘執行一次。

  若要指定排程規則的比率，請定義 *Rate 表達式*。
+ 在特定時間執行的規則

  EventBridge 會在特定的時間和日期執行這些規則，例如：上午 8:00 太平洋標準時間為每個月的第一個星期一。

  若要指定排程規則執行的時間和日期，請定義 *Cron 表達式*。

Rate 表達式的定義較為簡單，而 Cron 表達式則提供詳細的排程控制。例如，透過 cron 表達式，您可以定義一條規則，在每週或每個月的特定某一天中指定的時間執行。相對的，rate 表達式會以固定的頻率執行規則，例如每個小時一次或是每天一次。

所有排程事件都使用 UTC\$10 時區，且排程的最小精度為 1 分鐘。

**注意**  
EventBridge 在排程表達式中不提供第二層級的精確度。使用 cron 表達式的最小解析是一分鐘。由於 EventBridge 和目標服務的分散式特性，觸發排程規則與目標服務執行目標資源之間可能會有幾秒鐘的延遲。

## 建立排程規則 （舊版）
<a name="eb-create-scheduled-rule"></a>

下列步驟將逐步引導您如何建立依照定期排程執行的 EventBridge 規則。

**注意**  
您只能使用預設事件匯流排建立排程規則。

**Topics**
+ [定義規則](#eb-create-scheduled-rule-define)
+ [定義排程](#eb-create-scheduled-rule-schedule)
+ [選取目標](#eb-create-scheduled-rule-target)
+ [設定標籤和檢閱規則](#eb-create-scheduled-rule-review)

### 定義規則
<a name="eb-create-scheduled-rule-define"></a>

首先，輸入規則的名稱和說明以定義規則。

**若要定義規則詳細資訊**

1. 前往 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 在導覽窗格的**排程器**下，選擇**排程規則 （舊版）**。

1. 選擇**建立排程規則**。

1. 輸入**名稱**，(選用) 輸入規則**描述**。

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

1. 若要讓規則在您建立時立即生效，請確定啟用**排程規則**選項已啟用。

### 定義排程
<a name="eb-create-scheduled-rule-schedule"></a>

下一步，定義排程模式。

**若要定義排程模式**
+ 針對**排程模式**，請選擇要在特定時間執行排程，還是以固定速率執行：

------
#### [ Specific time ]

  1. 選擇**在特定時間執行的精細排程，例如上午 8:00 太平洋標準時間為每個月的第一個星期一**。

  1. 針對 **Cron 表達式**，請指定欄位以定義 EventBridge 應該用來決定何時執行此排程規則的排程運算式。

     當您指定完所有欄位之後，EventBridge 會顯示接下來的十個日期，讓 EventBridge 執行此排程規則。您可以選擇以 **UTC** 或**當地時區**顯示這些日期。

     如需建構 Cron 表達式的詳細資訊，請參閱 [Cron 表達式](eb-scheduled-rule-pattern.md#eb-cron-expressions)。

------
#### [ Regular rate ]

  1. 選擇**以固定速率執行的排程，例如每 10 分鐘執行一次**。

  1. 針對 **Rate 表達式**，請指定**值**和**單位**欄位，以定義 EventBridge 應執行此排定規則的速率。

     如需建構 Rate 表達式的詳細資訊，請參閱 [Rate 運算式](eb-scheduled-rule-pattern.md#eb-rate-expressions)。

------

### 選取目標
<a name="eb-create-scheduled-rule-target"></a>

選擇一或多個目標以接收符合指定模式的事件。目標可以包括 EventBridge 事件匯流排、EventBridge API 目的地，包括 SaaS 合作夥伴 (例如 Salesforce) 或其他 AWS 服務。

**若要選取目標**

1. 針對**目標類型**，請選擇下列其中一個：

------
#### [ Event bus ]

   若要選取 EventBridge 事件匯流排，請選取事件 **EventBridge 事件匯流排**，然後執行下列動作：
   + 若要在與此規則 AWS 區域 相同的 中使用事件匯流排：

     1. 選取**相同帳戶和區域中的事件匯流排**。

     1. 針對**目標的事件匯流排**，選擇下拉式方塊並輸入事件匯流排的名稱。您也可以從下拉式清單中選取事件匯流排。

        如需詳細資訊，請參閱[在相同帳戶中的事件匯流排與 Amazon EventBridge 中的區域之間傳送事件](eb-bus-to-bus.md)。
   + 若要使用不同 AWS 區域 或帳戶中的事件匯流排做為此規則：

     1. 選取**不同帳戶或地區中的事件匯流排**。

     1. 針對**作為目標的事件匯流排**，輸入您要使用的事件匯流排的 ARN。

        如需詳細資訊，請參閱：
        + [在 Amazon EventBridge 中的 AWS 帳戶之間傳送和接收事件](eb-cross-account.md)
        + [在 Amazon EventBridge 中的 AWS 區域之間傳送和接收事件](eb-cross-region.md)

------
#### [ API destination ]

   若要使用 EventBridge API 目的地，請選取 **EventBridge API 目的地**，然後執行下列其中一個動作：
   + 若要使用現有的 API 目的地，請選取**使用現有的 API 目的地**。然後從下拉式清單中選取 API 目標。
   + 若要建立新的 API 目的地，請選取**建立新的 API 目的地**。接下來，為目的地提供以下詳細資訊：
     + **名稱**：輸入目的地名稱。

       名稱在您的 AWS 帳戶內必須是獨一無二的。名稱長度最長可達 64 個字元。有效字元為 **A-Z**、**a-z**、**0-9** 和 ** **** ** **-** (連字號)。
     + (選用) **說明**：請輸入目的地的說明。

       說明最多可有 512 個字元。
     + **API 目標端點**：目標的 URL 端點。

       端點 URL 必須以 **https** 開頭。您可以包含 **\$1** 作為路徑參數萬用字元。您可以從目標的 `HttpParameters` 屬性設置路徑參數。
     + **HTTP 方法**：選取調用端點時使用的 HTTP 方法。
     + (選用) **每秒調用速率限制**：輸入此目的地每秒可接受的調用數目上限。

       該值必須大於零。依預設，此值設為 300。
     + **連線**：選擇使用新的或現有的連線：
       + 若要使用現有的連線，請選取**使用現有連線**，然後從下拉式清單中選取連線。
       + 若要為此目的地建立新連線，請選取**建立新連線**，然後定義連線的**名稱**、**目的地類型**和**授權類型**。您也可以為此連線新增選擇性的**描述**。

   如需詳細資訊，請參閱[作為 Amazon EventBridge 中目標的 API 目的地](eb-api-destinations.md)。

------
#### [ AWS 服務 ]

   若要使用 AWS 服務，請選取 **AWS 服務**，然後執行下列動作：

   1. 針對**選取目標**，請選取 AWS 服務 要用作目標的目標。提供您所選取服務所要求的資訊。
**注意**  
顯示的欄位會因選擇的服務而異。如需目標的詳細資訊，請參閱 [EventBridge 主控台中可用的事件匯流排目標](eb-targets.md#eb-console-targets)。

------

1. 對於許多目標類型而言，EventBridge 需要許可才能將事件傳送到目標。在這些情況下，EventBridge 可建立執行您的規則所需的 IAM 角色。

   針對**執行角色**，執行下列任何一項：
   + 若要為此規則建立新的執行角色：

     1. 選取**為此特定資源建立新角色**。

     1. 輸入此執行角色的名稱，或使用 EventBridge 產生的名稱。
   + 若要針對此規則使用現有的執行角色：

     1. 選取**使用現有角色**。

     1. 從下拉式清單中輸入或選取要使用的執行角色名稱。

1. (選用) 在**其他設定**中，指定任何可供您目標類型使用的選擇性設定：

------
#### [ Event bus ]

   (選用) 針對**無效字母佇列**，選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標，則 EventBridge 會將其傳送至無效字母佇列。執行以下任意一項：
   + 選擇**無**，即不使用無效字母佇列。
   + 選擇**選取當前 AWS 帳戶中的 Amazon SQS 佇列以用作無效字母佇列**，然後從下拉式清單中選取要使用的佇列。
   + 選擇**選取其他 AWS 帳戶中的 Amazon SQS 佇列做為無效字母佇列**，然後輸入要使用的佇列的 ARN。您必須將以資源為基礎政策連接到佇列，而且該佇列授與 EventBridge 向其傳送簡訊的許可。

     如需詳細資訊，請參閱[將許可授予無效字母佇列](eb-rule-dlq.md#eb-dlq-perms)。

------
#### [ API destination ]

   1. (選用) 對於設定目標輸入，請選擇您要如何自訂傳送至目標的文字以進行相符事件。選擇下列其中一項：
      + **符合的事件**：EventBridge 會將整個原始來源事件傳送至目標。這是預設值。
      + **相符事件的一部分**：EventBridge 只會將原始來源事件的指定部分傳送至目標。

        在**指定相符事件的部分**下，指定定義您希望 EventBridge 傳送至目標之事件部分的 JSON 路徑。
      + **常數 (JSON 文字)**：EventBridge 只會將指定的 JSON 文字傳送至目標。不會傳送原始來源事件的任何部分。

        **在 JSON 中指定常數**下，指定您希望 EventBridge 傳送到目標而非事件的 JSON 文字。
      + **輸入轉換器**：設定輸入轉換器，以自訂您希望 EventBridge 傳送至目標的文字。如需詳細資訊，請參閱[Amazon EventBridge 輸入轉換](eb-transform-target-input.md)。

        1. 選取**設定輸入轉換器**。

        1. 按照中的步驟配置輸入轉換器 [在 EventBridge 中建立規則時設定輸入轉換器](eb-transform-input-rule.md)。

   1. (選用) 在**「重試」政策**下，指定 EventBridge 在發生錯誤後如何重試將事件傳送至目標。
      + **最長事件保留時間**：輸入 EventBridge 保留未處理事件的時間上限 (以小時、分鐘和秒為單位)。預設值為 24 小時。
      + **重試嘗試**：輸入發生錯誤後，EventBridge 應該重試將事件傳送至目標的次數上限。預設值為 185 次。

   1. (選用) 針對**無效字母佇列**，選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標，則 EventBridge 會將其傳送至無效字母佇列。執行以下任意一項：
      + 選擇**無**，即不使用無效字母佇列。
      + 選擇**目前 AWS 帳戶中的選取 Amazon SQS 佇列以用作無效字母佇列**，然後從下拉式清單中選取要使用的佇列。
      + 選擇**選取其他 AWS 帳戶中的 Amazon SQS 佇列做為無效字母佇列**，然後輸入要使用的佇列的 ARN。您必須將以資源為基礎政策連接到佇列，而且該佇列授與 EventBridge 向其傳送簡訊的許可。

        如需詳細資訊，請參閱[將許可授予無效字母佇列](eb-rule-dlq.md#eb-dlq-perms)。

------
#### [ AWS service ]

   請注意，EventBridge 可能不會顯示指定 AWS 服務的所有下列欄位。

   1. (選用) 對於設定目標輸入，請選擇您要如何自訂傳送至目標的文字以進行相符事件。選擇下列其中一項：
      + **符合的事件**：EventBridge 會將整個原始來源事件傳送至目標。這是預設值。
      + **相符事件的一部分**：EventBridge 只會將原始來源事件的指定部分傳送至目標。

        在**指定相符事件的部分**下，指定定義您希望 EventBridge 傳送至目標之事件部分的 JSON 路徑。
      + **常數 (JSON 文字)**：EventBridge 只會將指定的 JSON 文字傳送至目標。不會傳送原始來源事件的任何部分。

        **在 JSON 中指定常數**下，指定您希望 EventBridge 傳送到目標而非事件的 JSON 文字。
      + **輸入轉換器**：設定輸入轉換器，以自訂您希望 EventBridge 傳送至目標的文字。如需詳細資訊，請參閱[Amazon EventBridge 輸入轉換](eb-transform-target-input.md)。

        1. 選取**設定輸入轉換器**。

        1. 按照中的步驟配置輸入轉換器 [在 EventBridge 中建立規則時設定輸入轉換器](eb-transform-input-rule.md)。

   1. (選用) 在**「重試」政策**下，指定 EventBridge 在發生錯誤後如何重試將事件傳送至目標。
      + **最長事件保留時間**：輸入 EventBridge 保留未處理事件的時間上限 (以小時、分鐘和秒為單位)。預設值為 24 小時。
      + **重試嘗試**：輸入發生錯誤後，EventBridge 應該重試將事件傳送至目標的次數上限。預設值為 185 次。

   1. (選用) 針對**無效字母佇列**，選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標，則 EventBridge 會將其傳送至無效字母佇列。執行以下任意一項：
      + 選擇**無**，即不使用無效字母佇列。
      + 選擇**目前 AWS 帳戶中的選取 Amazon SQS 佇列以用作無效字母佇列**，然後從下拉式清單中選取要使用的佇列。
      + 選擇**選取其他 AWS 帳戶中的 Amazon SQS 佇列做為無效字母佇列**，然後輸入要使用的佇列的 ARN。您必須將以資源為基礎政策連接到佇列，而且該佇列授與 EventBridge 向其傳送簡訊的許可。

        如需詳細資訊，請參閱 [將許可授予無效字母佇列](eb-rule-dlq.md#eb-dlq-perms)。

------

1. (選用) 選擇**新增其他目標**，為此規則新增另一個目標。

1. 選擇**下一步**。

### 設定標籤和檢閱規則
<a name="eb-create-scheduled-rule-review"></a>

最後，為規則輸入任何想要的標籤，然後檢閱並建立規則。

**若要設定標籤，以及檢閱和建立規則**

1. (選用) 為規則輸入一或多個標籤。如需詳細資訊，請參閱 [在 Amazon EventBridge 中標記資源](eb-tagging.md)。

1. 選擇**下一步**。

1. 檢閱新規則的詳細資料。若要對區段進行變更，請為要編輯的區段選擇**編輯**按鈕。

   如果您滿意規則詳細資訊，請選擇**建立規則**。

# 在 Amazon EventBridge 中設定排程規則 （舊版） 的排程模式
<a name="eb-scheduled-rule-pattern"></a>

**注意**  
排程規則是 EventBridge 的舊版功能。  
EventBridge 提供更靈活且強大的方法來集中大規模建立、執行和管理排程任務：EventBridge 排程器。使用 EventBridge 排程器，您可以使用週期性模式的 Cron 和 Rate 表達式來建立排程，或設定一次性調用。您可以設定彈性的交付時段、定義重試次數上限，以及設定失敗的 API 調用的最長保留時間。  
排程器可高度自訂，並提供比排程規則更佳的可擴展性，具有更廣泛的目標 API 操作 AWS 和服務。我們建議您使用排程器來排程叫用目標。  
如需詳細資訊，請參閱 [建立排程](using-eventbridge-scheduler.md#using-eventbridge-scheduler-create)或 *[EventBridge 排程器使用者指南](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)*。

當您在 EventBridge 中建立排程規則時，您可以指定排程模式來決定 EventBridge 何時執行規則：
+ 使用 *cron* 表達式在特定時間和日期執行規則。
+ 使用*速率*表達式定期執行規則。

## Cron 表達式
<a name="eb-cron-expressions"></a>

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

**語法**

```
cron(fields)
```


| **欄位** | **Values (數值)** | **萬用字元** | 
| --- | --- | --- | 
|  分鐘  |  0-59  |  , - \$1 /  | 
|  小時  |  0-23  |  , - \$1 /  | 
|  月中的日  |  1-31  |  , - \$1 ? / L W  | 
|  月  |  1-12 或 JAN-DEC  |  , - \$1 /  | 
|  週中的日  |  1-7 或 SUN-SAT  |  , - \$1 ? L \$1  | 
|  年  |  1970-2199  |  , - \$1 /  | 

**萬用字元**
+ **,** (逗號) 萬用字元包含額外的值。在月欄位，JAN、FEB、MAR 包括一月、二月與三月。
+ **-** (破折號) 萬用字元用於指定範圍。在日欄位，1-15 包含指定月份的 1 至 15 號。
+ **\$1** (星號) 包含欄位中所有的值。在 Hours (小時) 欄位，**\$1** 包含每個小時。您無法在月中的特定一天和週中的特定一天兩個欄位同時使用 **\$1**。若您在其中一個欄位使用它，您必須在另一個欄位使用 **?**。
+ **/** (斜線) 萬用字元用於指定增量。在 Minutes (分鐘) 欄位，您可以輸入 1/10 指定每十分鐘的間隔，從小時的第一分鐘開始 (例如第 11、第 21、第 31 分鐘等)。
+ **?** (問號) 萬用字元用於表示不限定任何一個。在月中的日欄位，您可以輸入 **7**，如果您不在意這個月的 7 號是星期幾，就可以在月中的日欄位中輸入 **?**​。
+ **L** 萬用字元在 Day-of-month (月中的日) 或 Day-of-week (週中的日) 欄位可指定月份或週的最後一天。
+ **W** 萬用字元在 Day-of-month (月中的日) 欄位可指定工作日。在 Day-of-month (月中的日) 欄位，**3W** 指定的是月份中最接近第三個工作日的日子。
+ **\$1** 萬用字元在 Day-of-week (週中的日) 欄位可指定某個月中某週特定日子的特定執行個體。例如，3\$12 代表則該月的第二個星期二：3 是指星期二，因為它是每週的第三天，2 指的是一個月內該類型的第二天。
**注意**  
如果您使用 '\$1' 字元，則只能在星期幾欄位中定義一個表達式。例如：`"3#1,6#3"` 是無效的，因為它被轉譯為兩個表達式。

**限制**
+ 您無法在同一個 cron 表達式中指定 Day-of-month (月中的日) 和 Day-of-week (週中的日) 欄位。如果您在其中一個欄位指定了數值或 \$1 (星號)，就必須在另一個欄位中使用 **?** (問號)​。
+ 不支援頻率多於 1 分鐘的 Cron 表達式。

**範例**  
使用排程建立規則時，您可以使用下列 cron 字串範例。


| 分鐘 | 小時 | 月中的日 | 月 | 週中的日 | 年 | 意義 | 
| --- | --- | --- | --- | --- | --- | --- | 
|  0  |  10  |  \$1  |  \$1  |  ?  |  \$1  |  在每天上午 10:00 (UTC\$10) 執行  | 
|  15  |  12  |  \$1  |  \$1  |  ?  |  \$1  |  在每天下午 12:15 (UTC\$10) 執行  | 
|  0  |  18  |  ?  |  \$1  |  MON-FRI  |  \$1  |  在每週一至週五下午 6:00 (UTC\$10) 執行  | 
|  0  |  8  |  1  |  \$1  |  ?  |  \$1  |  在每個月第 1 天上午 8:00 (UTC\$10) 執行  | 
|  0/15  |  \$1  |  \$1  |  \$1  |  ?  |  \$1  |  每 15 分鐘執行  | 
|  0/10  |  \$1  |  ?  |  \$1  |  MON-FRI  |  \$1  |  在週一至週五每 10 分鐘執行  | 
|  0/5  |  8-17  |  ?  |  \$1  |  MON-FRI  |  \$1  |  在週一至週五上午 8:00 至下午 5:55 (UTC\$10) 之間每 5 分鐘執行  | 
|  0/30  |  20-2  |  ?  |  \$1  |  MON-FRI  |  \$1  |  週一至週五每 30 分鐘執行一次，從開始日的晚上 10:00 至次日凌晨 2:00 (UTC) 在星期一早上 (UTC) 上午 12 點至凌晨 2 點執行。  | 



以下範例會建立在每天下午 12:00 UTC\$10 執行之規則。

```
aws events put-rule --schedule-expression "cron(0 12 * * ? *)" --name MyRule1
```

以下範例會建立在每天下午 2:05 至 2:35 UTC\$10 之間執行之規則。

```
aws events put-rule --schedule-expression "cron(5,35 14 * * ? *)" --name MyRule2
```

以下範例會建立規則，並在 2019 年至 2022 年每個月的最後一個週五 UTC\$10 時間上午 10:15 執行。

```
aws events put-rule --schedule-expression "cron(15 10 ? * 6L 2019-2022)" --name MyRule3
```

## Rate 運算式
<a name="eb-rate-expressions"></a>

*Rate 表達式*在您建立排程事件規則時開始，然後在定義的排程上執行。

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

**語法**

```
rate(value unit)
```

value  
正數。

單位  
時間的單位。所需單位可能不同，若值為 1，則需要 `minute`；若值超過 1，則需要 `minutes`。  
有效值：minute \$1 minutes \$1 hour \$1 hours \$1 day \$1 days (分鐘、數分鐘、小時、數小時、天、數天)

**限制**  
如果值等於 1，則單位必須為單數。如果值大於 1，則單位必須為複數。例如，rate (1 hours ) 和 rate (5 hour) 為無效，但 rate (1 hour) 和 rate (5 hours) 為有效。

**範例**  
下列範例示範如何搭配 `put-rule`命令使用速率表達式 AWS CLI 。第一個範例會每分鐘觸發規則，下一個範例則會每 5 分鐘觸發一次，第三個範例會每小時觸發一次，最後一個範例則會每天觸發一次。

```
aws events put-rule --schedule-expression "rate(1 minute)" --name MyRule2
```

```
aws events put-rule --schedule-expression "rate(5 minutes)" --name MyRule3
```

```
aws events put-rule --schedule-expression "rate(1 hour)" --name MyRule4
```

```
aws events put-rule --schedule-expression "rate(1 day)" --name MyRule5
```