Microsoft Azure 连接¶
Microsoft Azure 连接类型支持 Azure 集成。
Azure 认证¶
使用 Airflow 连接 Azure 有五种方式。
使用 令牌凭据,即在 Airflow 连接中添加特定凭据(client_id、secret、tenant)和订阅 ID。
使用 JSON 文件
使用 JSON 字典,即将一个 key config 直接添加到 Airflow 连接中。
通过设置
managed_identity_client_id
和workload_identity_tenant_id
来使用托管标识(底层使用了带有这些参数的 DefaultAzureCredential)。回退到 DefaultAzureCredential。这包含一个尝试不同认证选项的机制:托管系统标识、环境变量、通过 Azure CLI 认证等。此认证机制中需要
subscriptionId
。
每次只能使用一种授权方法。如果需要管理多个凭据或密钥,则应配置多个连接。
默认连接 ID¶
所有与 Microsoft Azure 容器实例相关的 hooks 和 operators 默认使用 azure_default
。
配置连接¶
- 登录(可选)
指定用于初始连接的
client_id
。这仅在*令牌凭据*认证机制中需要。可以省略,以回退到 DefaultAzureCredential。- 密码(可选)
指定用于初始连接的
secret
。这仅在*令牌凭据*认证机制中需要。可以省略,以回退到 DefaultAzureCredential。- 额外参数(可选)
指定可用于 Azure 连接的额外参数(作为 json 字典)。以下参数均为可选:
tenantId
:指定要使用的租户。这仅在*令牌凭据*认证机制中需要。subscriptionId
:指定要使用的订阅 ID。这仅在*令牌凭据*和 DefaultAzureCredential 认证机制中需要。key_path
:如果设置,则使用*JSON 文件*认证机制。它指定包含认证信息的 json 文件路径。key_json
:如果设置,则使用*JSON 字典*认证机制。它指定包含认证信息的 json。managed_identity_client_id
:用户分配的托管标识的客户端 ID。如果与workload_identity_tenant_id
一起提供,它们将传递给 DefaultAzureCredential。workload_identity_tenant_id
:应用程序的 Microsoft Entra 租户 ID,也称为其“目录”ID。如果与managed_identity_client_id
一起提供,它们将传递给 DefaultAzureCredential。
可以省略整个额外参数列,以回退到 DefaultAzureCredential。
在环境变量中指定连接时,应使用 URI 语法进行指定。
请注意,URI 的所有组成部分都应进行 URL 编码。
例如
export AIRFLOW_CONN_AZURE_DEFAULT='azure://?key_path=%2Fkeys%2Fkey.json'