airflow.providers.amazon.aws.hooks.base_aws

此模块包含基础 AWS Hook。

另请参阅

有关如何使用此 hook 的更多信息,请参阅指南:Amazon Web Services 连接

模块内容

BaseSessionFactory

基础 AWS 会话工厂类。

AwsGenericHook

与 AWS 交互的通用类。

AwsBaseHook

与 AWS 交互的基础类。

函数

resolve_session_factory()

解析自定义 SessionFactory 类。

属性

BaseAwsConnection

SessionFactory

airflow.providers.amazon.aws.hooks.base_aws.BaseAwsConnection[源代码]
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 会话的创建或支持自定义联合。

注意

并非所有为同步会话实现的功能都可用于异步会话。

另请参阅

property extra_config: dict[str, Any][源代码]

AWS 连接 extra_config。

property region_name: str | None[源代码]

AWS 区域名称只读属性。

property config: botocore.config.Config | None[源代码]

botocore 客户端的配置只读属性。

property role_arn: str | None[源代码]

从 AWS 连接中假定的角色 ARN。

conn()[源代码]

缓存的 AWS 连接包装器。

basic_session()[源代码]

具有基本 boto3.session.Session 的缓存属性。

get_async_session()[源代码]
create_session(deferrable=False)[源代码]

从连接配置创建 boto3 或 aiobotocore Session。

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 库的简单包装。

参数
property service_name: str[source]

从 hook 参数中提取的 botocore/boto3 服务名称。

property service_config: dict[source]

来自 AWS 连接的 hook 特定服务的配置。

property region_name: str | None[source]

AWS 区域名称只读属性。

property config: botocore.config.Config[source]

botocore 客户端的配置只读属性。

property verify: bool | str | None[source]

验证或不验证 SSL 证书 boto3 客户端/资源只读属性。

property async_conn[source]

获取用于异步操作的 aiobotocore 客户端。

property conn_client_meta: botocore.client.ClientMeta[source]

从 Hook 连接获取 botocore 客户端元数据(已缓存)。

property conn_region_name: str[source]

从 Hook 连接获取实际的 AWS 区域名称(已缓存)。

property conn_partition: str[source]

从 Hook 连接获取关联的 AWS 区域分区(已缓存)。

conn_name_attr = 'aws_conn_id'[source]
default_conn_name = 'aws_default'[source]
conn_type = 'aws'[source]
hook_name = 'Amazon Web Services'[source]
conn_config()[source]

获取 Airflow 连接对象并将其包装在 helper 中(已缓存)。

account_id()[source]

返回关联的 AWS 账户 ID。

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_resource_type(region_name=None, config=None)[source]

使用 boto3 会话获取底层的 boto3 资源。

conn()[source]

获取底层的 boto3 客户端/资源(已缓存)。

返回

boto3.client 或 boto3.resource

返回类型

BaseAwsConnection

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,则该值将保持不变并返回。

参数
  • role (str) – IAM 角色名称或 ARN

  • region_name (str | None) – 用于获取凭证的可选区域名称

返回

IAM 角色 ARN

返回类型

str

static retry(should_retry)[source]

为了响应超过临时配额限制而重复请求。

classmethod get_ui_field_behaviour()[source]

返回 AWS 连接的自定义 UI 字段行为。

test_connection()[source]

通过调用 AWS STS(安全令牌服务)GetCallerIdentity API 测试 AWS 连接。

waiter_path()[source]
get_waiter(waiter_name, parameters=None, deferrable=False, client=None)[source]

按名称获取一个等待器。

首先检查是否存在带有提供的 waiter_name 的自定义等待器,如果存在,则使用它,否则它将检查服务客户端是否存在与名称匹配的等待器,并将该等待器传递过去。

如果 deferrable 为 True,则等待器将是一个 AIOWaiter,由作为参数传递的客户端生成。如果 deferrable 为 True,则必须提供 client

参数
  • waiter_name (str) – 等待器的名称。该名称应与等待器模型文件中的键的名称完全匹配(通常为 CamelCase)。

  • parameters (dict[str, str] | None) – 将扫描等待器配置以查找该字典的键,并将其替换为相应的值。如果自定义等待器具有要扩展的此类键,则需要在此处提供它们。

  • deferrable (bool) – 如果为 True,则等待器将是一个异步自定义等待器。在这种情况下,必须提供异步客户端。

  • client – 用于等待器操作的客户端

list_waiters()[source]

返回一个列表,其中包含该服务的所有等待器的名称,包括官方的和自定义的。

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 库的简单包装。

参数
airflow.providers.amazon.aws.hooks.base_aws.resolve_session_factory()[source]

解析自定义 SessionFactory 类。

airflow.providers.amazon.aws.hooks.base_aws.SessionFactory[source]

此条目是否有帮助?