airflow.providers.amazon.aws.transfers.http_to_s3

此模块包含用于将数据从 HTTP 端点移动到 S3 的 Operator。

HttpToS3Operator

调用 HTTP 系统上的端点以执行操作并将结果存储在 S3 中。

模块内容

class airflow.providers.amazon.aws.transfers.http_to_s3.HttpToS3Operator(*, endpoint=None, method='GET', data=None, headers=None, extra_options=None, http_conn_id='http_default', log_response=False, auth_type=None, tcp_keep_alive=True, tcp_keep_alive_idle=120, tcp_keep_alive_count=20, tcp_keep_alive_interval=30, s3_bucket=None, s3_key, replace=False, encrypt=False, acl_policy=None, aws_conn_id='aws_default', verify=None, **kwargs)[source]

基类: airflow.models.BaseOperator

调用 HTTP 系统上的端点以执行操作并将结果存储在 S3 中。

参阅

有关如何使用此 Operator 的更多信息,请参阅指南: HTTP 到 Amazon S3 传输 Operator

参数:
  • http_conn_id (str) – 用于运行 Operator 的 HTTP 连接

  • endpoint (str | None) – 完整 URL 的相对部分。(支持模板)

  • method (str) – 要使用的 HTTP 方法,默认为 "POST"

  • data (Any) – 要传递的数据。POST/PUT 请求中的 POST 数据,GET 请求中的 URL 参数。(支持模板)

  • headers (dict[str, str] | None) – 要添加到 GET 请求中的 HTTP 头部

  • response_check – 对 'requests' 响应对象的检查。该可调用对象将响应对象作为第一个位置参数,并可选择接受上下文字典中可用的任意数量的关键字参数。应返回 True 表示“通过”,否则返回 False。

  • response_filter – 一个允许您操作响应文本的函数。例如 response_filter=lambda response: json.loads(response.text)。该可调用对象将响应对象作为第一个位置参数,并可选择接受上下文字典中可用的任意数量的关键字参数。

  • extra_options (dict[str, Any] | None) – 'requests' 库的额外选项,请参阅 'requests' 文档(修改超时、SSL 等的选项)

  • log_response (bool) – 记录响应(默认:False)

  • auth_type (type[requests.auth.AuthBase] | None) – 服务的认证类型

  • tcp_keep_alive (bool) – 为连接启用 TCP Keep Alive。

  • tcp_keep_alive_idle (int) – TCP Keep Alive Idle 参数(对应于 socket.TCP_KEEPIDLE)。

  • tcp_keep_alive_count (int) – TCP Keep Alive count 参数(对应于 socket.TCP_KEEPCNT

  • tcp_keep_alive_interval (int) – TCP Keep Alive interval 参数(对应于 socket.TCP_KEEPINTVL

  • s3_bucket (str | None) – 要保存对象的 S3 存储桶名称。(支持模板)当 s3_key 提供的是完整的 s3:// URL 时应忽略此项。

  • s3_key (str) – 要创建的对象键。(支持模板)可以是完整的 s3:// 样式 URL,也可以是相对于根路径的路径。当指定为完整的 s3:// URL 时,请忽略 s3_bucket

  • replace (bool) – 如果为 True,如果键已存在,则会覆盖它

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

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

  • aws_conn_id (str | None) – 要使用的 S3 连接的连接 ID

  • verify (str | bool | None) –

    是否验证 S3 连接的 SSL 证书。默认情况下会验证 SSL 证书。

    您可以提供以下值

    • False:不验证 SSL 证书。SSL 仍将使用,

      但不验证 SSL 证书。

    • path/to/cert/bundle.pem:要使用的 CA 证书捆绑包的文件名。

      如果您想使用与 botocore 使用的不同的 CA 证书捆绑包,可以指定此参数。

template_fields: collections.abc.Sequence[str] = ('http_conn_id', 'endpoint', 'data', 'headers', 's3_bucket', 's3_key')[source]
template_fields_renderers[source]
template_ext: collections.abc.Sequence[str] = ()[source]
ui_color = '#f4a460'[source]
http_conn_id = 'http_default'[source]
method = 'GET'[source]
endpoint = None[source]
headers[source]
data[source]
extra_options[source]
log_response = False[source]
auth_type = None[source]
tcp_keep_alive = True[source]
tcp_keep_alive_idle = 120[source]
tcp_keep_alive_count = 20[source]
tcp_keep_alive_interval = 30[source]
s3_bucket = None[source]
s3_key[source]
replace = False[source]
encrypt = False[source]
acl_policy = None[source]
aws_conn_id = 'aws_default'[source]
verify = None[source]
property http_hook: airflow.providers.http.hooks.http.HttpHook[source]

创建并返回一个 HttpHook。

property s3_hook: airflow.providers.amazon.aws.hooks.s3.S3Hook[source]

创建并返回一个 S3Hook。

execute(context)[source]

创建 Operator 时派生此方法。

context 是与渲染 Jinja 模板时使用的相同的字典。

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

此条目有帮助吗?