airflow.providers.amazon.aws.log.s3_task_handler

S3RemoteLogIO

方便的超類,用於配置帶類名的記錄器。

S3TaskHandler

S3TaskHandler 是一個 Python 日誌處理器,用於處理和讀取任務例項日誌。

模組內容

class airflow.providers.amazon.aws.log.s3_task_handler.S3RemoteLogIO(context=None)[原始碼]

基類: airflow.utils.log.logging_mixin.LoggingMixin

方便的超類,用於配置帶類名的記錄器。

remote_base: str[原始碼]
base_log_folder: pathlib.Path[原始碼]
delete_local_copy: bool[原始碼]
processors = ()[原始碼]
upload(path, ti)[原始碼]

將給定的日誌路徑上傳到遠端儲存。

property hook[原始碼]

返回 S3Hook。

s3_log_exists(remote_log_location)[原始碼]

檢查 remote_log_location 是否存在於遠端儲存中。

引數:

remote_log_location (str) – 日誌在遠端儲存中的位置

返回:

如果位置存在則返回 True,否則返回 False

返回型別:

bool

s3_read(remote_log_location, return_error=False)[原始碼]

返回在 remote_log_location 找到的日誌,如果未找到日誌或發生錯誤則返回 ‘’。

引數:
  • remote_log_location (str) – 日誌在遠端儲存中的位置

  • return_error (bool) – 如果為 True,則在發生錯誤時返回字串錯誤訊息。否則,在發生錯誤時返回 ‘’。

返回:

在 remote_log_location 找到的日誌

返回型別:

str

write(log, remote_log_location, append=True, max_retry=1)[原始碼]

將日誌寫入 remote_log_location;返回 True 或靜默失敗並返回 False

引數:
  • log (str) – 要寫入 remote_log_location 的內容

  • remote_log_location (str) – 日誌在遠端儲存中的位置

  • append (bool) – 如果為 False,則覆蓋任何現有日誌檔案。如果為 True,則將新日誌追加到任何現有日誌中。

  • max_retry (int) – 上傳失敗時的最大重試次數

返回:

日誌是否成功寫入遠端位置。

返回型別:

bool

read(relative_path, ti)[原始碼]
class airflow.providers.amazon.aws.log.s3_task_handler.S3TaskHandler(base_log_folder, s3_log_folder, **kwargs)[原始碼]

基類: airflow.utils.log.file_task_handler.FileTaskHandler, airflow.utils.log.logging_mixin.LoggingMixin

S3TaskHandler 是一個 Python 日誌處理器,用於處理和讀取任務例項日誌。

它擴充套件了 airflow FileTaskHandler,並上傳到 S3 遠端儲存以及從 S3 遠端儲存讀取日誌。

handler: logging.FileHandler | None = None[原始碼]
remote_base[原始碼]
log_relative_path = ''[原始碼]
closed = False[原始碼]
upload_on_close = True[原始碼]
io[原始碼]
set_context(ti, *, identifier=None)[原始碼]

為 airflow 任務處理器提供 task_instance 上下文。

通常返回 None。但如果 attr maintain_propagate 已設定為 propagate,則返回 sentinel MAINTAIN_PROPAGATE。這會覆蓋預設行為,即在呼叫 set_context 時將 propagate 設定為 False。在撰寫本文時,此功能僅用於單元測試。

引數:
  • ti (airflow.models.taskinstance.TaskInstance) – 任務例項物件

  • identifier (str | None) – 如果設定,則向日志文件新增字尾。用於在任務或觸發器執行以外的上下文中將異常訊息中繼到任務日誌。

close()[原始碼]

關閉本地日誌檔案並上傳到遠端儲存 S3。

此條目有幫助嗎?