airflow.providers.amazon.aws.hooks.base_aws¶
此模块包含 Base AWS Hook。
另请参阅
有关如何使用此 Hook 的更多信息,请参阅指南: Amazon Web Services 连接
属性¶
类¶
Base AWS Session Factory 类。 |
|
用于与 AWS 交互的通用类。 |
|
用于与 AWS 交互的基类。 |
函数¶
解析自定义 SessionFactory 类。 |
模块内容¶
- 类 airflow.providers.amazon.aws.hooks.base_aws.BaseSessionFactory(conn, region_name=None, config=None)[source]¶
基类:
airflow.utils.log.logging_mixin.LoggingMixin
Base AWS Session Factory 类。
这处理同步和异步的 boto 会话创建。它可以处理大多数 AWS 支持的身份验证方法。
用户也可以从这个类派生,以完全控制 boto3 会话创建或支持自定义联合。
注意
并非为同步会话实现的所有功能都适用于异步会话。
另请参阅
- 属性 conn: airflow.providers.amazon.aws.utils.connection_wrapper.AwsConnectionWrapper[source]¶
缓存的 AWS 连接包装器。
- 属性 basic_session: boto3.session.Session[source]¶
带有基本 boto3.session.Session 的缓存属性。
- 类 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)[source]¶
基类:
airflow.hooks.base.BaseHook
,Generic
[BaseAwsConnection]用于与 AWS 交互的通用类。
此类提供对 boto3 Python 库的轻量级封装。
- 参数:
aws_conn_id (str | None) – 用于 AWS 凭据的 Airflow 连接。如果此参数为 None 或为空,则使用默认的 boto3 行为。如果在分布式方式下运行 Airflow 且 aws_conn_id 为 None 或为空,则将使用默认的 boto3 配置(并且必须在每个 worker 节点上维护)。
verify (bool | str | None) – 是否验证 SSL 证书。请参阅: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
region_name (str | None) – AWS region_name。如果未指定,则使用默认的 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
- 属性 conn_config: airflow.providers.amazon.aws.utils.connection_wrapper.AwsConnectionWrapper[source]¶
获取 Airflow 连接对象并用辅助函数封装(缓存)。
- 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 客户端。
- 属性 conn: BaseAwsConnection[source]¶
获取底层的 boto3 客户端/资源(已缓存)。
- 返回:
boto3.client or boto3.resource
- 返回类型:
BaseAwsConnection
- 属性 async_conn[source]¶
[已弃用] 获取 aiobotocore 客户端以用于异步操作。
此属性已弃用。在异步上下文中访问它会导致事件循环阻塞。请改用异步方法 get_async_conn。
- get_conn()[source]¶
获取底层的 boto3 客户端/资源(已缓存)。
实现此方法是为了使缓存按预期工作。它的存在是为了兼容依赖于 super().get_conn() 方法的子类。
- 返回:
boto3.client or 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]¶
获取角色的 Amazon Resource Name (ARN)。
如果 IAM 角色已经是 IAM 角色 ARN,则返回值不变。
- 属性 waiter_path: os.PathLike[str] | None[source]¶
- get_waiter(waiter_name, parameters=None, config_overrides=None, deferrable=False, client=None)[source]¶
按名称获取 Waiter。
首先检查是否存在具有提供的 waiter_name 的自定义 Waiter,如果存在则使用它,否则将检查服务客户端以查找与名称匹配的 Waiter 并将其传递。
如果 deferrable 为 True,则 Waiter 将是一个 AIOWaiter,从作为参数传递的客户端生成。如果 deferrable 为 True,则必须提供 client。
- 参数:
waiter_name (str) – Waiter 的名称。该名称应与 Waiter 模型文件中的键名完全匹配(通常为驼峰式大小写)。
parameters (dict[str, str] | None) – 将扫描等待器配置以查找该字典的键,并将其替换为对应的值。如果自定义等待器具有需要展开的此类键,则需要在此处提供。注意:如果参数包含在 config_overrides 中,则无法使用此选项。
config_overrides (dict[str, Any] | None) – 将更新等待器配置中提供的键的值。仅指定键将被更新。
deferrable (bool) – 如果为 True,则等待器将是异步自定义等待器。在这种情况下,必须提供异步客户端。
client – 用于等待器操作的客户端
- 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]¶
Bases:
AwsGenericHook
[Union
[boto3.client
,boto3.resource
]]用于与 AWS 交互的基类。
此类提供对 boto3 Python 库的轻量级封装。
- 参数:
aws_conn_id (str | None) – 用于 AWS 凭据的 Airflow 连接。如果此参数为 None 或为空,则使用默认的 boto3 行为。如果在分布式方式下运行 Airflow 且 aws_conn_id 为 None 或为空,则将使用默认的 boto3 配置(并且必须在每个 worker 节点上维护)。
verify (bool | str | None) – 是否验证 SSL 证书。请参阅: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
region_name (str | None) – AWS region_name。如果未指定,则使用默认的 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