airflow.providers.google.cloud.log.gcs_task_handler
¶
模块内容¶
类¶
GCSTaskHandler 是一个 Python 日志处理程序,用于处理和读取任务实例日志。 |
属性¶
- class airflow.providers.google.cloud.log.gcs_task_handler.GCSTaskHandler(*, base_log_folder, gcs_log_folder, gcp_key_path=None, gcp_keyfile_dict=None, gcp_scopes=_DEFAULT_SCOPESS, project_id=PROVIDE_PROJECT_ID, **kwargs)[source]¶
基类:
airflow.utils.log.file_task_handler.FileTaskHandler
,airflow.utils.log.logging_mixin.LoggingMixin
GCSTaskHandler 是一个 Python 日志处理程序,用于处理和读取任务实例日志。
它扩展了 Airflow FileTaskHandler,并上传到 GCS 远程存储并从中读取。如果读取日志失败,它会从主机本地磁盘读取。
- 参数
base_log_folder ( str ) – 用于存放日志的基础日志文件夹。
gcs_log_folder ( str ) – 将保存日志的远程位置的路径。它必须具有前缀
gs://
。例如:gs://bucket/remote/log/location
filename_template – 模板文件名字符串
gcp_key_path ( str | None ) – Google Cloud 服务帐户文件 (JSON) 的路径。与 gcp_keyfile_dict 互斥。如果省略,将使用基于 应用程序默认凭据 的授权。
gcp_keyfile_dict ( dict | None ) – 密钥文件参数的字典。与 gcp_key_path 互斥。
gcp_scopes ( collections.abc.Collection[str] | None ) – 包含 OAuth2 作用域的逗号分隔字符串
project_id ( str ) – 从中读取密钥的项目 ID。如果未传递,将使用凭据中的项目 ID。
delete_local_copy – 使用远程日志记录时,本地日志文件在下载后是否应删除
- set_context(ti, *, identifier=None)[source]¶
向 Airflow 任务处理程序提供 task_instance 上下文。
一般来说返回 None。但是,如果属性 maintain_propagate 已设置为传播,则返回 sentinel MAINTAIN_PROPAGATE。 这具有覆盖默认行为的效果,以便在调用 set_context 时将 propagate 设置为 False。在编写本文时,此功能仅在单元测试中使用。
- 参数
ti ( airflow.models.taskinstance.TaskInstance ) – 任务实例对象
identifier ( str | None ) – 如果设置,则向日志文件添加后缀。用于将异常消息从任务或触发器运行以外的上下文传递到任务日志时使用