Microsoft Azure Blob Storage 连接

Microsoft Azure Blob Storage 连接类型支持 Azure Blob Storage 集成。

Azure Blob Storage 身份验证

有六种方法可以使用 Airflow 连接到 Azure Blob Storage。

  1. 使用 令牌凭证,即在 Airflow 连接中添加特定的凭证(client_id、secret、tenant)和订阅 ID。

  2. 使用 Azure 共享密钥凭证,即在 Airflow 连接的 shared_access_key 中添加共享密钥凭证。

  3. 使用 SAS Token,即在 Airflow 连接的 sas_token 中添加密钥配置。

  4. 使用 连接字符串,即在 Airflow 连接的 connection_string 中添加连接字符串。

  5. 通过设置 managed_identity_client_idworkload_identity_tenant_id 使用托管身份(底层使用带有这些参数的 DefaultAzureCredential

  6. 回退到 DefaultAzureCredential。这包含一种尝试不同身份验证选项的机制:托管系统身份、环境变量、通过 Azure CLI 身份验证等。

一次只能使用一种授权方法。如果需要管理多个凭证或密钥,则应配置多个连接。

默认连接 ID

所有与 Microsoft Azure Blob Storage 相关的 hook 和 operator 默认使用 wasb_default

配置连接

登录(可选)

指定用于 Azure Blob Storage 的登录信息。作为服务主体凭证进行 Active Directory(令牌)身份验证时严格需要。如果指定了主机(帐户 URL),则其余情况可选。可以省略,以回退到 DefaultAzureCredential

密码(可选)

指定用于 Azure Blob Storage 的密码。用于 Active Directory(令牌凭证)和共享密钥身份验证。可以省略,以回退到 DefaultAzureCredential

主机(可选)

指定 Azure Blob Storage 的帐户 URL。作为服务主体凭证进行 Active Directory(令牌)和 DefaultAzureCredential 身份验证时严格需要。如果指定了登录信息(帐户名),则其余情况可选。

Blob Storage 连接字符串(可选)

用于连接字符串身份验证的连接字符串。可以省略,以回退到 DefaultAzureCredential

Blob Storage 共享访问密钥(可选)

指定共享访问密钥。仅在共享访问密钥身份验证时需要。可以省略,以回退到 DefaultAzureCredential

SAS Token(可选)

用于 SAS Token 身份验证的 SAS Token。可以省略,以回退到 DefaultAzureCredential

租户 ID(Active Directory 身份验证)(可选)

指定要使用的租户。仅在 Active Directory(令牌)身份验证时需要。可以省略,以回退到 DefaultAzureCredential

额外参数(可选)

指定可在 Azure 连接中使用的额外参数(以 JSON 字典形式)。以下参数均为可选:

  • client_secret_auth_config: 使用 ClientSecretCredential 作为服务主体进行身份验证时要传递的额外配置。可以省略,以回退到 DefaultAzureCredential

  • managed_identity_client_id: 用户分配的托管身份的客户端 ID。如果与 workload_identity_tenant_id 一起提供,它们将传递给 DefaultAzureCredential

  • workload_identity_tenant_id: 应用程序的 Microsoft Entra 租户 ID。也称为其“目录”ID。如果与 managed_identity_client_id 一起提供,它们将传递给 DefaultAzureCredential

在环境变量中指定连接时,应使用 URI 语法。

请注意,URI 的所有组成部分都应该进行 URL 编码。

例如,使用令牌凭证连接

export AIRFLOW_CONN_WASB_DEFAULT='wasb://blob%20username:blob%20password@myblob.com?tenant_id=tenant+id'

此条目有帮助吗?