airflow.providers.amazon.aws.triggers.base

AwsBaseWaiterTrigger

所有遵循“標準”模式(僅等待 waiter)的 AWS Trigger 的基類。

模組內容

class airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger(*, serialized_fields, waiter_name, waiter_args, failure_message, status_message, status_queries, return_key='value', return_value, waiter_delay, waiter_max_attempts, waiter_config_overrides=None, aws_conn_id, region_name=None, verify=None, botocore_config=None)[source]

基類: airflow.triggers.base.BaseTrigger

所有遵循“標準”模式(僅等待 waiter)的 AWS Trigger 的基類。

子類需要實現 hook() 方法。

引數:
  • serialized_fields (dict[str, Any]) – 特定於子類 trigger 的欄位,需要序列化並在反序列化時傳遞給 __init__ 方法。連線 ID、區域、waiter 延遲和嘗試次數始終會序列化。格式: {<parameter_name>: <parameter_value>}

  • waiter_name (str) – 要使用的(可能是自定義的)boto waiter 名稱。

  • waiter_args (dict[str, Any]) – 傳遞給 waiter 的引數。

  • failure_message (str) – 如果達到失敗狀態時要記錄的訊息。

  • status_message (str) – 列印服務狀態時記錄的訊息。

  • status_queries (list[str]) – 包含 JMESPath 查詢的列表,用於從 waiter 響應中檢索狀態資訊。參見 https://jmespath.org/tutorial.html

  • return_key (str) – 在 TriggerEvent 成功發出時用於 return_value 的鍵。預設為“value”。

  • return_value (Any) – 將在 TriggerEvent 的 return_key 欄位中返回的值。如果沒有要返回的內容,則設定為 None。

  • waiter_delay (int) – 兩次嘗試之間的等待時間(秒)。

  • waiter_max_attempts (int) – 最大嘗試次數。

  • waiter_config_overrides (dict[str, Any] | None) – 一個字典,用於更新 waiter 的預設配置。僅更新指定的鍵。

  • aws_conn_id (str | None) – 用於 AWS 憑據的 Airflow 連線。用於構建 hook。

  • region_name (str | None) – 要監視資源所在的 AWS 區域。用於構建 hook。

  • verify (bool | str | None) – 是否驗證 SSL 證書。用於構建 hook。參見: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html

  • botocore_config (dict | None) – 用於 botocore 客戶端的配置字典(鍵值對)。用於構建 hook。有關可用鍵值對,請參見: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html

serialized_fields[source]
waiter_name[source]
waiter_args[source]
failure_message[source]
status_message[source]
status_queries[source]
waiter_config_overrides = None[source]
return_key = 'value'[source]
return_value[source]
waiter_delay[source]
attempts[source]
aws_conn_id[source]
region_name = None[source]
verify = None[source]
botocore_config = None[source]
serialize()[source]

返回重建此 Trigger 所需的資訊。

返回:

元組 (類路徑, 重新例項化所需的關鍵字引數)。

返回型別:

tuple[str, dict[str, Any]]

abstract hook()[source]

在子類中覆蓋以返回正確的 hook。

async run()[source]

在非同步上下文中執行 trigger。

trigger 應該在想要觸發事件時 yield 一個 Event,並在完成時返回 None。因此,單事件 trigger 應該先 yield 然後立即返回。

如果它 yield,很可能會很快恢復,但也可能不會(例如,如果工作負載正在轉移到另一個 triggerer 程序,或者多事件 trigger 用於單事件任務延遲)。

無論哪種情況,Trigger 類都應假定它們會被持久化,並在不再需要時依賴 cleanup() 被呼叫。

此條目有幫助嗎?