airflow.providers.amazon.aws.hooks.base_aws
¶
此模块包含基础 AWS Hook。
另请参阅
有关如何使用此 hook 的更多信息,请参阅指南:Amazon Web Services 连接
模块内容¶
类¶
基础 AWS 会话工厂类。 |
|
与 AWS 交互的通用类。 |
|
与 AWS 交互的基础类。 |
函数¶
解析自定义 SessionFactory 类。 |
属性¶
- class airflow.providers.amazon.aws.hooks.base_aws.BaseSessionFactory(conn, region_name=None, config=None)[源代码]¶
基类:
airflow.utils.log.logging_mixin.LoggingMixin
基础 AWS 会话工厂类。
这处理同步和异步 boto 会话的创建。它可以处理大多数 AWS 支持的身份验证方法。
用户还可以从此类派生,以完全控制 boto3 会话的创建或支持自定义联合。
注意
并非所有为同步会话实现的功能都可用于异步会话。
另请参阅
- class airflow.providers.amazon.aws.hooks.base_aws.AwsGenericHook(aws_conn_id=default_conn_name, verify=None, region_name=None, client_type=None, resource_type=None, config=None)[源代码]¶
基类:
airflow.hooks.base.BaseHook
,Generic
[BaseAwsConnection
]与 AWS 交互的通用类。
此类提供对 boto3 Python 库的简单包装。
- 参数
aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。如果此值为 None 或为空,则使用默认的 boto3 行为。如果在分布式模式下运行 Airflow 且 aws_conn_id 为 None 或为空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。
verify (bool | str | None) – 是否验证 SSL 证书。参见:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
region_name (str | None) – AWS 区域名称。如果未指定,则使用默认的 boto3 行为。
client_type ( str | None) – 指向
boto3.client service_name
的引用,例如 ‘emr’、‘batch’、‘s3’ 等。与resource_type
互斥。resource_type ( str | None) – 指向
boto3.resource service_name
的引用,例如 ‘s3’、‘ec2’、‘dynamodb’ 等。与client_type
互斥。config (botocore.config.Config | dict[str, Any] | None) – botocore 客户端的配置。请参阅: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html
- get_session(region_name=None, deferrable=False)[source]¶
获取底层的 boto3.session.Session(region_name=region_name)。
- get_client_type(region_name=None, config=None, deferrable=False)[source]¶
使用 boto3 会话获取底层的 boto3 客户端。
- get_conn()[source]¶
获取底层的 boto3 客户端/资源(已缓存)。
实现此方法是为了使缓存按预期工作。它的存在是为了与依赖于 super().get_conn() 方法的子类兼容。
- 返回
boto3.client 或 boto3.resource
- 返回类型
BaseAwsConnection
- get_credentials(region_name=None)[source]¶
获取底层的 botocore.Credentials 对象。
它包含以下身份验证属性:access_key、secret_key 和 token。通过使用此方法,secret_key 和 token 也将在任务日志中被屏蔽。
- expand_role(role, region_name=None)[source]¶
获取角色的亚马逊资源名称 (ARN)。
如果 IAM 角色已经是 IAM 角色 ARN,则该值将保持不变并返回。
- class airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook(aws_conn_id=default_conn_name, verify=None, region_name=None, client_type=None, resource_type=None, config=None)[source]¶
基类:
AwsGenericHook
[Union
[boto3.client
,boto3.resource
]]与 AWS 交互的基础类。
此类提供对 boto3 Python 库的简单包装。
- 参数
aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。如果此值为 None 或为空,则使用默认的 boto3 行为。如果在分布式模式下运行 Airflow 且 aws_conn_id 为 None 或为空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。
verify (bool | str | None) – 是否验证 SSL 证书。参见:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
region_name (str | None) – AWS 区域名称。如果未指定,则使用默认的 boto3 行为。
client_type ( str | None) – 指向
boto3.client service_name
的引用,例如 ‘emr’、‘batch’、‘s3’ 等。与resource_type
互斥。resource_type ( str | None) – 指向
boto3.resource service_name
的引用,例如 ‘s3’、‘ec2’、‘dynamodb’ 等。与client_type
互斥。config (botocore.config.Config | dict[str, Any] | None) – botocore 客户端的配置。请参阅: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html