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。

此条目有帮助吗?