airflow.providers.google.cloud.triggers.gcs

GCSBlobTrigger

当在给定存储桶中找到请求的文件或文件夹时触发的触发器。

GCSCheckBlobUpdateTimeTrigger

一个触发器,它异步调用 GCS 以检查存储桶中的对象是否已更新。

GCSPrefixBlobTrigger

查找存储桶中与前缀匹配的对象。

GCSUploadSessionTrigger

如果在非活动期过后对象数量没有增加,则返回触发器事件。

模块内容

class airflow.providers.google.cloud.triggers.gcs.GCSBlobTrigger(bucket, object_name, use_glob, poke_interval, google_cloud_conn_id, hook_params)[source]

基类: airflow.triggers.base.BaseTrigger

当在给定存储桶中找到请求的文件或文件夹时触发的触发器。

参数:
  • bucket (str) – 对象所在的 Google Cloud Storage 中的存储桶。

  • object_name (str) – 存储桶中存在的文件或文件夹

  • use_glob (bool) – 如果为 true,则将 object_name 解释为 glob 模式

  • google_cloud_conn_id (str) – 对 Google Connection 的引用

  • poke_interval (float) – 检查文件/文件夹的轮询周期(秒)

  • hook_params (dict[str, Any]) – 要传递给底层 hook 的额外配置参数。应与所需的 hook 构造函数参数匹配。

bucket[source]
object_name[source]
use_glob[source]
poke_interval[source]
google_cloud_conn_id: str[source]
hook_params[source]
serialize()[source]

序列化 GCSBlobTrigger 参数和类路径。

async run()[source]

循环直到找到相关文件/文件夹。

class airflow.providers.google.cloud.triggers.gcs.GCSCheckBlobUpdateTimeTrigger(bucket, object_name, target_date, poke_interval, google_cloud_conn_id, hook_params)[source]

基类: airflow.triggers.base.BaseTrigger

一个触发器,它异步调用 GCS 以检查存储桶中的对象是否已更新。

参数:
  • bucket (str) – 对象所在的 Google Cloud Storage 存储桶名称。

  • object_name (str) – 存储桶中存在的文件或文件夹

  • target_date (datetime.datetime) – 用于与 blob 对象更新时间进行比较的上下文日期时间

  • poke_interval (float) – 检查文件/文件夹的轮询周期(秒)

  • google_cloud_conn_id (str) – 对 Google Connection 的引用

  • hook_params (dict[str, Any]) – 包含 impersonation_chain 的 dict 对象

bucket[source]
object_name[source]
target_date[source]
poke_interval[source]
google_cloud_conn_id: str[source]
hook_params[source]
serialize()[source]

序列化 GCSCheckBlobUpdateTimeTrigger 参数和类路径。

async run()[source]

循环直到对象更新时间大于目标日期时间。

class airflow.providers.google.cloud.triggers.gcs.GCSPrefixBlobTrigger(bucket, prefix, poke_interval, google_cloud_conn_id, hook_params)[source]

基类: GCSBlobTrigger

查找存储桶中与前缀匹配的对象。

如果未找到,则等待一段时间后再次检查。否则,返回匹配项。

参数:
  • bucket (str) – 对象所在的 Google Cloud Storage 中的存储桶。

  • prefix (str) – 要在 Google Cloud Storage 存储桶中匹配的 blob 名称前缀。

  • google_cloud_conn_id (str) – 对 Google Connection 的引用

  • poke_interval (float) – 检查的轮询周期(秒)

  • hook_params (dict[str, Any]) – 要传递给底层 hook 的额外配置参数。应与所需的 hook 构造函数参数匹配。

prefix[source]
serialize()[source]

序列化 GCSPrefixBlobTrigger 参数和类路径。

async run()[source]

循环直到在存储桶上找到给定前缀的匹配项。

class airflow.providers.google.cloud.triggers.gcs.GCSUploadSessionTrigger(bucket, prefix, poke_interval, google_cloud_conn_id, hook_params, inactivity_period=60 * 60, min_objects=1, previous_objects=None, allow_delete=True)[source]

基类: GCSPrefixBlobTrigger

如果在非活动期过后对象数量没有增加,则返回触发器事件。

参数:
  • bucket (str) – 期望对象所在的 Google Cloud Storage 存储桶。

  • prefix (str) – 要在 Google Cloud Storage 存储桶中检查的前缀名称。

  • poke_interval (float) – 检查的轮询周期(秒)

  • inactivity_period (float) – 指定上传会话结束的总非活动秒数。请注意,此机制不是实时的,此运算符可能在此期间过去且未检测到其他对象后的一段时间才会返回。

  • min_objects (int) – 上传会话被视为有效所需的最小对象数量。

  • previous_objects (set[str] | None) – 上次探测期间找到的对象 ID 集合。

  • allow_delete (bool) – 此传感器是否应将两次间隔之间删除对象视为有效行为。如果为 true,发生此情况时将记录警告消息。如果为 false,将引发错误。

  • google_cloud_conn_id (str) – 连接到 Google Cloud Storage 时使用的连接 ID。

inactivity_period = 3600[source]
min_objects = 1[source]
previous_objects[source]
inactivity_seconds = 0.0[source]
allow_delete = True[source]
last_activity_time: datetime.datetime | None = None[source]
serialize()[source]

序列化 GCSUploadSessionTrigger 参数和类路径。

async run()[source]

循环直到在非活动期内 blob 列表中没有新文件或被删除的文件。

此条目有用吗?