Microsoft Azure Blob Storage 连接

Microsoft Azure Blob Storage 连接类型启用 Azure Blob Storage 集成。

验证 Azure Blob Storage

使用 Airflow 连接到 Azure Blob Storage 有七种方式。

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

  2. 使用 Azure 共享密钥凭证,即将共享密钥凭据添加到 Airflow 连接的 shared_access_key

  3. 使用 SAS 令牌,即在 Airflow 连接中将配置键添加到 sas_token

  4. 使用 Connection String(即在 Airflow 连接中将连接字符串添加到 connection_string)。

  5. 通过在 Airflow 连接的 extra 字段中设置 account_key 来使用账户密钥。

  6. 通过设置 managed_identity_client_idworkload_identity_tenant_id 使用托管身份(在钩子中,它使用带有这些参数的 DefaultAzureCredential)。

  7. 回退至 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 存储连接字符串(可选)

用于连接字符串身份验证的连接字符串。若不提供,将回退到 DefaultAzureCredential

Blob 存储共享访问密钥(可选)

指定共享访问密钥。仅在使用共享访问密钥身份验证时需要。若不提供,将回退到 DefaultAzureCredential

SAS 令牌(可选)

用于 SAS 令牌身份验证的 SAS 令牌。若不提供,将回退到 DefaultAzureCredential

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

指定要使用的租户。仅在 Active Directory(令牌)身份验证时需要。若不提供,将回退到 DefaultAzureCredential

额外(可选)

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

  • account_key:指定用于 Azure Blob Storage 身份验证的账户密钥。此项会在回退到 DefaultAzureCredential 之前进行检查。

  • 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'

此条目是否有帮助?