airflow.providers.google.cloud.log.gcs_task_handler¶
屬性¶
類¶
便捷的超類,用於配置一個以類名命名的 logger。 |
|
GCSTaskHandler 是一個 Python 日誌處理器,用於處理和讀取任務例項日誌。 |
模組內容¶
- class airflow.providers.google.cloud.log.gcs_task_handler.GCSRemoteLogIO(context=None)[原始碼]¶
基類:
airflow.utils.log.logging_mixin.LoggingMixin便捷的超類,用於配置一個以類名命名的 logger。
- base_log_folder: pathlib.Path[原始碼]¶
- scopes: collections.abc.Collection[str] | None[原始碼]¶
- property hook: airflow.providers.google.cloud.hooks.gcs.GCSHook | None[原始碼]¶
如果配置了 remote_log_conn_id,則返回 GCSHook。
- 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)[原始碼]¶
基類:
airflow.utils.log.file_task_handler.FileTaskHandler,airflow.utils.log.logging_mixin.LoggingMixinGCSTaskHandler 是一個 Python 日誌處理器,用於處理和讀取任務例項日誌。
它擴充套件了 Airflow FileTaskHandler,並支援上傳和讀取 GCS 遠端儲存中的日誌。如果日誌讀取失敗,它會從主機本地磁碟讀取。
- 引數:
base_log_folder (str) – 用於存放日誌的基礎日誌資料夾。
gcs_log_folder (str) – 儲存日誌的遠端位置路徑。它必須以
gs://為字首。例如:gs://bucket/remote/log/locationfilename_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 scopes 的逗號分隔字串
project_id (str) – 從中讀取金鑰的專案 ID。如果未傳入,將使用憑據中的專案 ID。
delete_local_copy – 使用遠端日誌記錄時,下載後是否應刪除本地日誌檔案
- handler: logging.FileHandler | None = None[原始碼]¶
- set_context(ti, *, identifier=None)[原始碼]¶
向 Airflow 任務處理器提供 task_instance 上下文。
通常返回 None。但如果屬性 maintain_propagate 已設定為 propagate,則返回哨兵 MAINTAIN_PROPAGATE。這會覆蓋預設行為,即在呼叫 set_context 時將 propagate 設定為 False。在撰寫本文時,此功能僅用於單元測試。
- 引數:
ti (airflow.models.taskinstance.TaskInstance) – 任務例項物件
identifier (str | None) – 如果設定,會向日志文件名新增字尾。用於在任務或觸發器執行以外的上下文中將異常訊息轉發到任務日誌。