

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

# 在 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. 檢閱新規則的詳細資料。若要對區段進行變更，請為要編輯的區段選擇**編輯**按鈕。

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