Microsoft Azure 连接

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

Azure 认证

使用 Airflow 连接 Azure 有五种方式。

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

  2. 使用 JSON 文件

  3. 使用 JSON 字典,即将一个 key config 直接添加到 Airflow 连接中。

  4. 通过设置 managed_identity_client_idworkload_identity_tenant_id 来使用托管标识(底层使用了带有这些参数的 DefaultAzureCredential)。

  5. 回退到 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'

本文有帮助吗?