airflow.providers.amazon.aws.transfers.ftp_to_s3

FTPToS3Operator

将一个或多个文件从 FTP 服务器传输到 S3。

模块内容

class airflow.providers.amazon.aws.transfers.ftp_to_s3.FTPToS3Operator(*, ftp_path, s3_bucket, s3_key, ftp_filenames=None, s3_filenames=None, ftp_conn_id='ftp_default', aws_conn_id='aws_default', replace=False, encrypt=False, gzip=False, acl_policy=None, **kwargs)[source]

基类: airflow.models.BaseOperator

将一个或多个文件从 FTP 服务器传输到 S3。

另请参阅

有关如何使用此 operator 的更多信息,请查看指南:FTP 到 Amazon S3 传输 operator

参数:
  • ftp_path (str) – FTP 远程路径。对于单个文件,必须包含文件名。对于多个文件,这是查找文件的路径。

  • s3_bucket (str) – 上传文件(s)的目标 S3 存储桶。

  • s3_key (str) – 目标 S3 key。对于单个文件,必须包含文件路径。对于多个文件,必须以“/”结尾。

  • ftp_filenames (str | list[str] | None) – 仅在要移动多个文件时使用。可以传入一个包含 ftp 路径中存在的精确文件名的列表,或者所有文件必须符合的前缀。也可以是字符串“*”以移动 ftp 路径中的所有文件。

  • s3_filenames (str | list[str] | None) – 仅在要移动多个文件并希望将它们命名为与原始 ftp 文件不同时使用。它可以是一个文件名列表或文件前缀(这将替换 ftp 前缀)。

  • ftp_conn_id (str) – FTP 连接 id。用于建立与 FTP 服务器连接的名称或标识符。

  • aws_conn_id (str | None) – S3 连接 id。用于建立与 S3 连接的名称或标识符。

  • replace (bool) – 一个标志,用于决定是否覆盖已存在的 key。如果 replace 为 False 且 key 已存在,则会引发错误。

  • encrypt (bool) – 如果为 True,文件将由 S3 在服务器端加密,并在 S3 中处于静态时以加密形式存储。

  • gzip (bool) – 如果为 True,文件将在本地压缩

  • acl_policy (str | None) – 指定上传到 S3 存储桶的文件的预设 ACL 策略的字符串。

template_fields: collections.abc.Sequence[str] = ('ftp_path', 's3_bucket', 's3_key', 'ftp_filenames', 's3_filenames')[source]
ftp_path[source]
s3_bucket[source]
s3_key[source]
ftp_filenames = None[source]
s3_filenames = None[source]
aws_conn_id = 'aws_default'[source]
ftp_conn_id = 'ftp_default'[source]
replace = False[source]
encrypt = False[source]
gzip = False[source]
acl_policy = None[source]
s3_hook: airflow.providers.amazon.aws.hooks.s3.S3Hook | None = None[source]
ftp_hook: airflow.providers.ftp.hooks.ftp.FTPHook | None = None[source]
execute(context)[source]

创建 operator 时派生。

Context 是与渲染 jinja 模板时使用的相同的字典。

有关更多上下文,请参阅 get_template_context。

此条目有帮助吗?