airflow.providers.amazon.aws.triggers.glue

GlueJobCompleteTrigger

监视 Glue 作业,在作业完成时触发。

GlueCatalogPartitionTrigger

异步等待 AWS Glue Catalog 中出现分区。

GlueDataQualityRuleSetEvaluationRunCompleteTrigger

在 AWS Glue 数据质量评估运行完成时触发。

GlueDataQualityRuleRecommendationRunCompleteTrigger

在 AWS Glue 数据质量推荐运行完成时触发。

模块内容

class airflow.providers.amazon.aws.triggers.glue.GlueJobCompleteTrigger(job_name, run_id, verbose, aws_conn_id, job_poll_interval)[source]

基类: airflow.triggers.base.BaseTrigger

监视 Glue 作业,在作业完成时触发。

参数:
  • job_name (str) – glue 作业名称

  • run_id (str) – 要监视的该作业的特定运行 ID

  • verbose (bool) – 是否在 airflow 日志中打印作业日志

  • aws_conn_id (str | None) – 用于 AWS 凭据的 Airflow 连接。

job_name[source]
run_id[source]
verbose[source]
aws_conn_id[source]
job_poll_interval[source]
serialize()[source]

返回重构此 Trigger 所需的信息。

返回值:

一个元组,包含(类路径,重新实例化所需的关键字参数)。

返回类型:

tuple[str, dict[str, Any]]

async run()[source]

在异步上下文中运行 Trigger。

Trigger 在想要触发事件时应生成 (yield) 一个 Event,并在完成后返回 None。因此,单事件 Trigger 应该生成 (yield) 然后立即返回。

如果它生成 (yield),很可能会很快恢复,但也有可能不会(例如,如果工作负载正在转移到另一个 triggerer 进程,或者多事件 Trigger 用于单事件任务延迟)。

无论哪种情况,Trigger 类都应假定它们会被持久化,并在不再需要时依赖 cleanup() 被调用。

class airflow.providers.amazon.aws.triggers.glue.GlueCatalogPartitionTrigger(database_name, table_name, expression='', waiter_delay=60, aws_conn_id='aws_default', region_name=None, verify=None, botocore_config=None)[source]

基类: airflow.triggers.base.BaseTrigger

异步等待 AWS Glue Catalog 中出现分区。

参数:
  • database_name (str) – 分区所在的目录数据库名称。

  • table_name (str) – 要等待的表名,支持点表示法 (my_database.my_table)

  • expression (str) – 要等待的分区子句。此参数将按原样传递给 AWS Glue Catalog API 的 get_partitions 函数,支持类似 SQL 的表示法,例如 ds='2015-01-01' AND type='value',以及比较运算符,例如 "ds>=2015-01-01"。请参阅 https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html #aws-glue-api-catalog-partitions-GetPartitions

  • aws_conn_id (str | None) – 存储凭据和额外配置的 Airflow 连接 ID

  • region_name (str | None) – 可选的 AWS 区域名称(例如:us-east-1)。如果未指定,则使用连接中的区域。

  • waiter_delay (int) – 两次检查之间等待的秒数。默认为 60 秒。

database_name[source]
table_name[source]
expression = ''[source]
waiter_delay = 60[source]
aws_conn_id = 'aws_default'[source]
region_name = None[source]
verify = None[source]
botocore_config = None[source]
serialize()[source]

返回重构此 Trigger 所需的信息。

返回值:

一个元组,包含(类路径,重新实例化所需的关键字参数)。

返回类型:

tuple[str, dict[str, Any]]

property hook: airflow.providers.amazon.aws.hooks.glue_catalog.GlueCatalogHook[source]
async poke(client)[source]
async run()[source]

在异步上下文中运行 Trigger。

Trigger 在想要触发事件时应生成 (yield) 一个 Event,并在完成后返回 None。因此,单事件 Trigger 应该生成 (yield) 然后立即返回。

如果它生成 (yield),很可能会很快恢复,但也有可能不会(例如,如果工作负载正在转移到另一个 triggerer 进程,或者多事件 Trigger 用于单事件任务延迟)。

无论哪种情况,Trigger 类都应假定它们会被持久化,并在不再需要时依赖 cleanup() 被调用。

class airflow.providers.amazon.aws.triggers.glue.GlueDataQualityRuleSetEvaluationRunCompleteTrigger(evaluation_run_id, waiter_delay=60, waiter_max_attempts=75, aws_conn_id='aws_default')[source]

基类: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

在 AWS Glue 数据质量评估运行完成时触发。

参数:
  • evaluation_run_id (str) – AWS Glue 数据质量规则集评估运行标识符。

  • waiter_delay (int) – 尝试之间等待的秒数。(默认值:60)

  • waiter_max_attempts (int) – 最大尝试次数。(默认值:75)

  • aws_conn_id (str | None) – 用于 AWS 凭据的 Airflow 连接。

hook()[source]

在子类中重写以返回正确的 hook。

class airflow.providers.amazon.aws.triggers.glue.GlueDataQualityRuleRecommendationRunCompleteTrigger(recommendation_run_id, waiter_delay=60, waiter_max_attempts=75, aws_conn_id='aws_default')[source]

基类: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

在 AWS Glue 数据质量推荐运行完成时触发。

参数:
  • recommendation_run_id (str) – AWS Glue 数据质量规则推荐运行标识符。

  • waiter_delay (int) – 尝试之间等待的秒数。(默认值:60)

  • waiter_max_attempts (int) – 最大尝试次数。(默认值:75)

  • aws_conn_id (str | None) – 用于 AWS 凭据的 Airflow 连接。

hook()[source]

在子类中重写以返回正确的 hook。

此条目有帮助吗?