airflow.providers.amazon.aws.hooks.base_aws

此模組包含 Base AWS Hook。

另請參閱

有關如何使用此 Hook 的更多資訊,請參閱指南: Amazon Web Services 連線

屬性

BaseAwsConnection

SessionFactory

BaseSessionFactory

Base AWS Session Factory 類。

AwsGenericHook

用於與 AWS 互動的通用類。

AwsBaseHook

用於與 AWS 互動的基類。

函式

resolve_session_factory()

解析自定義 SessionFactory 類。

模組內容

airflow.providers.amazon.aws.hooks.base_aws.BaseAwsConnection[source]
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 的快取屬性。

屬性 extra_config: dict[str, Any][source]

AWS 連線 extra_config。

屬性 region_name: str | None[source]

AWS 區域名稱只讀屬性。

屬性 config: botocore.config.Config | None[source]

botocore 客戶端配置只讀屬性。

屬性 role_arn: str | None[source]

從 AWS 連線中假設角色 ARN。

get_async_session()[source]
create_session(deferrable=False)[source]

根據連線配置建立 boto3 或 aiobotocore 會話。

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 庫的輕量級封裝。

引數:
conn_name_attr = 'aws_conn_id'[source]
default_conn_name = 'aws_default'[source]
conn_type = 'aws'[source]
hook_name = 'Amazon Web Services'[source]
aws_conn_id = 'aws_default'[source]
client_type = None[source]
resource_type = None[source]
屬性 conn_config: airflow.providers.amazon.aws.utils.connection_wrapper.AwsConnectionWrapper[source]

獲取 Airflow 連線物件並用輔助函式封裝(快取)。

屬性 service_name: str[source]

從 Hook 引數中提取的 botocore/boto3 服務名稱。

屬性 service_config: dict[source]

從 AWS 連接獲取的 Hook 特定服務的配置。

屬性 region_name: str | None[source]

AWS 區域名稱只讀屬性。

屬性 config: botocore.config.Config[source]

botocore 客戶端配置只讀屬性。

屬性 verify: bool | str | None[source]

驗證或不驗證 SSL 證書 boto3 客戶端/資源只讀屬性。

屬性 account_id: str[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: BaseAwsConnection[source]

獲取底層的 boto3 客戶端/資源(已快取)。

返回:

boto3.client or boto3.resource

返回型別:

BaseAwsConnection

屬性 async_conn[source]

[已棄用] 獲取 aiobotocore 客戶端以用於非同步操作。

此屬性已棄用。在非同步上下文中訪問它會導致事件迴圈阻塞。請改用非同步方法 get_async_conn

非同步 get_async_conn()[source]

獲取 aiobotocore 客戶端以用於非同步操作。

屬性 conn_client_meta: botocore.client.ClientMeta[source]

從 Hook 連線中獲取 botocore 客戶端元資料(已快取)。

屬性 conn_region_name: str[source]

從 Hook 連線中獲取實際的 AWS 區域名稱(已快取)。

屬性 conn_partition: str[source]

從 Hook 連線中獲取關聯的 AWS 區域分割槽(已快取)。

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,則返回值不變。

引數:
  • role (str) – IAM 角色名稱或 ARN

  • region_name (str | None) – 獲取憑據的可選區域名稱

返回:

IAM 角色 ARN

返回型別:

str

靜態 retry(should_retry)[source]

在超出臨時配額限制時重複請求。

類方法 get_ui_field_behaviour()[source]

返回 AWS 連線的自定義 UI 欄位行為。

test_connection()[source]

透過呼叫 AWS STS(安全令牌服務)的 GetCallerIdentity API 來測試 AWS 連線。

屬性 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 – 用於等待器操作的客戶端

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]

Bases: 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]

此條目是否有幫助?