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.LoggingMixinBase 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