

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

# 觸發
<a name="aws-glue-api-jobs-trigger"></a>

Triggers API 說明與建立、更新或刪除，以及啟動和停止任務觸發程序相關的資料類型和 API AWS Glue。

## 資料類型
<a name="aws-glue-api-jobs-trigger-objects"></a>
+ [Trigger 結構](#aws-glue-api-jobs-trigger-Trigger)
+ [TriggerUpdate 結構](#aws-glue-api-jobs-trigger-TriggerUpdate)
+ [Predicate 結構](#aws-glue-api-jobs-trigger-Predicate)
+ [Condition 結構](#aws-glue-api-jobs-trigger-Condition)
+ [Action 結構](#aws-glue-api-jobs-trigger-Action)
+ [EventBatchingCondition 結構](#aws-glue-api-jobs-trigger-EventBatchingCondition)

## Trigger 結構
<a name="aws-glue-api-jobs-trigger-Trigger"></a>

關於特定觸發條件的資訊。

**欄位**
+ `Name` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  觸發條件的名稱。
+ `WorkflowName` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  與觸發條件相關聯的工作流程名稱。
+ `Id` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  保留以供日後使用。
+ `Type` – UTF-8 字串 (有效值：`SCHEDULED` \| `CONDITIONAL` \| `ON_DEMAND` \| `EVENT`)。

  此處觸發條件的類型。
+ `State` – UTF-8 字串 (有效值：`CREATING` \| `CREATED` \| `ACTIVATING` \| `ACTIVATED` \| `DEACTIVATING` \| `DEACTIVATED` \| `DELETING` \| `UPDATING`)。

  觸發條件目前的狀態。
+ `Description` – 描述字串，長度不可超過 2048 個位元組，需符合[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)。

  此觸發條件的說明。
+ `Schedule` – UTF-8 字串。

  用來指定排程的 `cron` 表達式 (請參閱[適用於任務與爬蟲程式的依時排程](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)。例如，如果要每天在 12:15 UTC 執行某項動作，您可以指定：`cron(15 12 * * ? *)`。
+ `Actions` – 一個 [Action](#aws-glue-api-jobs-trigger-Action) 物件陣列。

  此觸發條件起始的動作。
+ `Predicate` – [述詞](#aws-glue-api-jobs-trigger-Predicate) 物件。

  此觸發條件的述詞，定義了觸發的時間點。
+ `EventBatchingCondition` – [EventBatchingCondition](#aws-glue-api-jobs-trigger-EventBatchingCondition) 物件。

  在引發 EventBridge 事件觸發之前，必須符合的批次條件 (指定接收的事件數目或批次時段已過期)。

## TriggerUpdate 結構
<a name="aws-glue-api-jobs-trigger-TriggerUpdate"></a>

一種結構，用來提供更新觸發條件時所使用的資訊。此物件在更新先前的觸發條件定義時，會完全覆寫掉之前的內容。

**欄位**
+ `Name` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  保留以供日後使用。
+ `Description` – 描述字串，長度不可超過 2048 個位元組，需符合[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)。

  此觸發條件的說明。
+ `Schedule` – UTF-8 字串。

  用來指定排程的 `cron` 表達式 (請參閱[適用於任務與爬蟲程式的依時排程](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)。例如，如果要每天在 12:15 UTC 執行某項動作，您可以指定：`cron(15 12 * * ? *)`。
+ `Actions` – 一個 [Action](#aws-glue-api-jobs-trigger-Action) 物件陣列。

  此觸發條件起始的動作。
+ `Predicate` – [述詞](#aws-glue-api-jobs-trigger-Predicate) 物件。

  此觸發條件的述詞，定義了觸發的時間點。
+ `EventBatchingCondition` – [EventBatchingCondition](#aws-glue-api-jobs-trigger-EventBatchingCondition) 物件。

  在引發 EventBridge 事件觸發之前，必須符合的批次條件 (指定接收的事件數目或批次時段已過期)。

## Predicate 結構
<a name="aws-glue-api-jobs-trigger-Predicate"></a>

定義觸發條件的述詞，此述詞會決定觸發的時間點。

**欄位**
+ `Logical` – UTF-8 字串 (有效值：`AND` \| `ANY`)。

  如果只列出一個條件，則為選用欄位。如果列出了多個條件，則此為必要欄位。
+ `Conditions` – [條件](#aws-glue-api-jobs-trigger-Condition) 物件陣列，不可超過 500 個結構。

  觸發條件的清單，這些條件決定了觸發的時間點。

## Condition 結構
<a name="aws-glue-api-jobs-trigger-Condition"></a>

定義觸發的條件。

**欄位**
+ `LogicalOperator` – UTF-8 字串 (有效值：`EQUALS`)。

  邏輯運算子。
+ `JobName` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  任務的名稱，此條件會套用至該任務的 `JobRuns`，此觸發條件也會等待起始該任務。
+ `State` – UTF-8 字串 (有效值：`STARTING` \| `RUNNING` \| `STOPPING` \| `STOPPED` \| `SUCCEEDED` \| `FAILED` \| `TIMEOUT` \| `ERROR` \| `WAITING` \| `EXPIRED`)。

  條件的狀態。目前，觸發條件可聆聽的任務狀態只有 `SUCCEEDED`、`STOPPED`、`FAILED` 和 `TIMEOUT`。觸發條件可聆聽的爬蟲程式狀態只有 `SUCCEEDED`、`FAILED` 和 `CANCELLED`。
+ `CrawlerName` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  要套用此條件的爬取程式名稱。
+ `CrawlState` – UTF-8 字串 (有效值：`RUNNING` \| `CANCELLING` \| `CANCELLED` \| `SUCCEEDED` \| `FAILED` \| `ERROR`)。

  要套用此條件的爬取程式狀態。

## Action 結構
<a name="aws-glue-api-jobs-trigger-Action"></a>

定義觸發條件要起始的動作。

**欄位**
+ `JobName` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  要執行的任務的名稱。
+ `Arguments` – 金鑰值對的映射陣列。

  每個金鑰都是 UTF-8 字串。

  每個值都是 UTF-8 字串。

  此觸發條件觸發時所使用的任務引數。處理此任務執行時，這些引數會取代任務定義本身已設定的預設引數。

  您可以在此指定您自己的任務執行指令碼使用的引數，以及 AWS Glue 本身使用的引數。

  如需如何指定和取用自有任務引數的資訊，請參閱本開發人員指南中的[使用 Python 呼叫 AWS Glue API](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) 主題。

  如需 AWS Glue 用於設定任務的鍵/值對相關資訊，請參閱 開發人員指南中的 [使用的特殊參數 AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)主題。
+ `Timeout` – 數字 (整數)，至少為 1。

  `JobRun` 逾時 (以分鐘為單位)。此為任務執行在停止並進入 `TIMEOUT` 狀態前可以消耗資源的最大時間。此會覆寫父任務所設的逾時值。

  任務的逾時值必須少於 7 天或 10,080 分鐘。否則，任務會擲回例外狀況。

  當值保留空白時，Glue 4.0 版和更早版本會將逾時預設為 2，880 分鐘，Glue 5.0 版和更新版本預設為 480 分鐘。

  逾時值大於 7 天的任何現有 AWS Glue 任務將預設為 7 天。例如，如果您為批次任務指定了 20 天的逾時，則會在第 7 天停止。

  對於串流任務，如果您已設定維護時段，則會在 7 天後的維護時段期間重新啟動任務。
+ `SecurityConfiguration` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  可與此動作搭配使用的 `SecurityConfiguration` 結構名稱。
+ `NotificationProperty` – [NotificationProperty](aws-glue-api-jobs-runs.md#aws-glue-api-jobs-runs-NotificationProperty) 物件。

  指定任務執行通知的組態屬性。
+ `CrawlerName` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  要搭配此動作使用的爬取程式名稱。

## EventBatchingCondition 結構
<a name="aws-glue-api-jobs-trigger-EventBatchingCondition"></a>

在引發 EventBridge 事件觸發之前，必須符合的批次條件 (指定接收的事件數目或批次時段已過期)。

**欄位**
+ `BatchSize` – *必要：*數字 (整數)，不可小於 1，也不可以大於 100。

  引發 EventBridge 事件觸發之前，必須從 Amazon EventBridge 收到的事件數目。
+ `BatchWindow` – 數字 (整數)，不可小於 1，也不可以大於 900。

  引發 EventBridge 事件觸發之後的時段 (以秒為單位)。時段在接收到第一個事件時啟動。

## 作業
<a name="aws-glue-api-jobs-trigger-actions"></a>
+ [CreateTrigger 動作 (Python: create\_trigger)](#aws-glue-api-jobs-trigger-CreateTrigger)
+ [StartTrigger 動作 (Python: start\_trigger)](#aws-glue-api-jobs-trigger-StartTrigger)
+ [GetTrigger 動作 (Python: get\_trigger)](#aws-glue-api-jobs-trigger-GetTrigger)
+ [GetTriggers 動作 (Python: get\_triggers)](#aws-glue-api-jobs-trigger-GetTriggers)
+ [UpdateTrigger 動作 (Python: update\_trigger)](#aws-glue-api-jobs-trigger-UpdateTrigger)
+ [StopTrigger 動作 (Python: stop\_trigger)](#aws-glue-api-jobs-trigger-StopTrigger)
+ [DeleteTrigger 動作 (Python: delete\_trigger)](#aws-glue-api-jobs-trigger-DeleteTrigger)
+ [ListTriggers 動作 (Python: list\_triggers)](#aws-glue-api-jobs-trigger-ListTriggers)
+ [BatchGetTriggers 動作 (Python: batch\_get\_triggers)](#aws-glue-api-jobs-trigger-BatchGetTriggers)

## CreateTrigger 動作 (Python: create\_trigger)
<a name="aws-glue-api-jobs-trigger-CreateTrigger"></a>

建立新的觸發條件。

可以記錄任務引數。不要將純文字袐密當做引數傳遞。如果您想要將秘密保留在任務中，請從 AWS Glue 連線、 AWS Secrets Manager 或其他秘密管理機制擷取秘密。

**請求**
+ `Name` – *必要：*UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，且需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  觸發條件的名稱。
+ `WorkflowName` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  與觸發條件相關聯的工作流程名稱。
+ `Type` – *必要：*UTF-8 字串 (有效值：`SCHEDULED` \| `CONDITIONAL` \| `ON_DEMAND` \| `EVENT`)。

  新觸發條件的類型。
+ `Schedule` – UTF-8 字串。

  用來指定排程的 `cron` 表達式 (請參閱[適用於任務與爬蟲程式的依時排程](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)。例如，如果要每天在 12:15 UTC 執行某項動作，您可以指定：`cron(15 12 * * ? *)`。

  當觸發類型為 SCHEDULED 時，此欄位為必要。
+ `Predicate` – [述詞](#aws-glue-api-jobs-trigger-Predicate) 物件。

  用來指定新觸發條件觸發時間點的述詞。

  當觸發類型為 `CONDITIONAL` 時，此欄位為必要。
+ `Actions` – *必要：*一個 [Action](#aws-glue-api-jobs-trigger-Action) 物件。

  此觸發條件觸發時所起始的動作。
+ `Description` – 描述字串，長度不可超過 2048 個位元組，需符合[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)。

  新觸發條件的說明。
+ `StartOnCreation` – 布林值。

  設定 `true`，即可在建立時啟動 `SCHEDULED` 和 `CONDITIONAL` 觸發。True 不支援 `ON_DEMAND` 觸發。
+ `Tags` – 金鑰值對的對應陣列，不超過 50 對。

  每個金鑰均為 UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 128 個位元組。

  每個值都是 UTF-8 字串，長度不可超過 256 個位元組。

  要搭配此觸發條件使用的標籤。您可以使用標籤來限制對於觸發條件的存取情況。如需 中標籤的詳細資訊 AWS Glue，請參閱《 開發人員指南》中的 [AWS 中的標籤 AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html)。
+ `EventBatchingCondition` – [EventBatchingCondition](#aws-glue-api-jobs-trigger-EventBatchingCondition) 物件。

  在引發 EventBridge 事件觸發之前，必須符合的批次條件 (指定接收的事件數目或批次時段已過期)。

**回應**
+ `Name` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  觸發條件的名稱。

**錯誤**
+ `AlreadyExistsException`
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `IdempotentParameterMismatchException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentModificationException`

## StartTrigger 動作 (Python: start\_trigger)
<a name="aws-glue-api-jobs-trigger-StartTrigger"></a>

啟動現有的觸發條件。請參閱[觸發任務](https://docs.aws.amazon.com/glue/latest/dg/trigger-job.html)，以了解如何啟動不同類型觸發條件的資訊。

**請求**
+ `Name` – *必要：*UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，且需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  所要啟動觸發條件的名稱。

**回應**
+ `Name` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  已啟動的觸發條件的名稱。

**錯誤**
+ `InvalidInputException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentRunsExceededException`

## GetTrigger 動作 (Python: get\_trigger)
<a name="aws-glue-api-jobs-trigger-GetTrigger"></a>

擷取觸發條件的定義。

**請求**
+ `Name` – *必要：*UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，且需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  要擷取的觸發條件的名稱。

**回應**
+ `Trigger` – [觸發條件](#aws-glue-api-jobs-trigger-Trigger) 物件。

  要求的觸發條件定義。

**錯誤**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetTriggers 動作 (Python: get\_triggers)
<a name="aws-glue-api-jobs-trigger-GetTriggers"></a>

取得與任務相關的所有觸發條件。

**請求**
+ `NextToken` – UTF-8 字串。

  接續符記，如果這是接續呼叫。
+ `DependentJobName` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  擷取觸發之任務的名稱。將會傳回可起始此項任務的觸發條件，如果沒有此等觸發條件，將傳回所有的觸發條件。
+ `MaxResults` – 數字 （整數），不可小於 1 或大於 200。

  回應的大小上限。

**回應**
+ `Triggers` – 一個 [觸發條件](#aws-glue-api-jobs-trigger-Trigger) 物件陣列。

  指定任務適用的觸發條件的清單。
+ `NextToken` – UTF-8 字串。

  持續符記 (如果尚未傳回所有要求的觸發條件)。

**錯誤**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## UpdateTrigger 動作 (Python: update\_trigger)
<a name="aws-glue-api-jobs-trigger-UpdateTrigger"></a>

更新觸發定義。

可以記錄任務引數。不要將純文字袐密當做引數傳遞。如果您想要將秘密保留在任務中，請從 AWS Glue 連線、 AWS Secrets Manager 或其他秘密管理機制擷取秘密。

**請求**
+ `Name` – *必要：*UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，且需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  所要更新觸發條件的名稱。
+ `TriggerUpdate` – *必要：*[TriggerUpdate](#aws-glue-api-jobs-trigger-TriggerUpdate) 物件。

  新的值，用來更新觸發條件。

**回應**
+ `Trigger` – [觸發條件](#aws-glue-api-jobs-trigger-Trigger) 物件。

  產生的觸發條件定義。

**錯誤**
+ `InvalidInputException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## StopTrigger 動作 (Python: stop\_trigger)
<a name="aws-glue-api-jobs-trigger-StopTrigger"></a>

停止指定的觸發條件。

**請求**
+ `Name` – *必要：*UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，且需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  所要停止的觸發條件的名稱。

**回應**
+ `Name` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  已停止的觸發條件的名稱。

**錯誤**
+ `InvalidInputException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## DeleteTrigger 動作 (Python: delete\_trigger)
<a name="aws-glue-api-jobs-trigger-DeleteTrigger"></a>

刪除指定的觸發條件。如果找不到此觸發條件，就不會擲回例外狀況。

**請求**
+ `Name` – *必要：*UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，且需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  所要刪除的觸發條件的名稱。

**回應**
+ `Name` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

  已刪除的觸發條件的名稱。

**錯誤**
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## ListTriggers 動作 (Python: list\_triggers)
<a name="aws-glue-api-jobs-trigger-ListTriggers"></a>

擷取此 AWS 帳戶中所有觸發器資源的名稱，或使用指定標籤的資源。您可運用此操作，查看帳戶下有哪些可用資源及其名稱。

此操作會接收您可在回應時做為篩選條件的選用 `Tags` 欄位，因此已標記的資源可分組進行擷取。如果您選擇使用標籤進行篩選，則此時只會擷取包含該標籤的資源。

**請求**
+ `NextToken` – UTF-8 字串。

  接續符記，如果這是接續要求。
+ `DependentJobName` – UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 255 個位元組，需符合[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)。

   要擷取其觸發條件的工作的名稱。這時會傳回可起始此任務的觸發條件。如果這時沒有這種觸發條件，則會傳回所有的觸發條件。
+ `MaxResults` – 數字 （整數），不可小於 1 或大於 200。

  所要回傳清單的大小上限。
+ `Tags` – 金鑰值對的對應陣列，不超過 50 對。

  每個金鑰均為 UTF-8 字串，長度不可小於 1 個位元組，也不可以超過 128 個位元組。

  每個值都是 UTF-8 字串，長度不可超過 256 個位元組。

  指定只傳回包含這些標籤的資源。

**回應**
+ `TriggerNames` – UTF-8 字串陣列。

  這個帳戶下所有觸發條件的名稱，或是使用指定標籤的觸發條件。
+ `NextToken` – UTF-8 字串。

  接續字元，如果傳回的清單未包含最後一個可用指標。

**錯誤**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## BatchGetTriggers 動作 (Python: batch\_get\_triggers)
<a name="aws-glue-api-jobs-trigger-BatchGetTriggers"></a>

為指定的觸發條件名稱清單，傳回資源中繼資料的清單。呼叫 `ListTriggers` 操作之後，您便可以呼叫此操作來存取您已授與許可的資料。此操作支援所有 IAM 許可，包括使用標籤的許可條件。

**請求**
+ `TriggerNames` – *必要：*UTF-8 字串陣列。

  觸發條件名稱清單，可能是從 `ListTriggers` 操作傳回的名稱。

**回應**
+ `Triggers` – 一個 [觸發條件](#aws-glue-api-jobs-trigger-Trigger) 物件陣列。

  觸發條件定義的清單。
+ `TriggersNotFound` – UTF-8 字串陣列。

  找不到觸發條件名稱清單。

**錯誤**
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `InvalidInputException`