Microsoft Azure Cosmos

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

Azure 身份验证

有三种使用 Airflow 连接到 Azure Cosmos 的方法。

  1. 使用 主密钥,即向 Airflow 连接添加特定凭据(client_id、secret、tenant)和帐户名称。

  2. 通过设置 managed_identity_client_id, workload_identity_tenant_id 来使用托管身份(在幕后,它使用带有这些参数的 DefaultAzureCredential)。

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

默认连接 ID

所有与 Microsoft Azure Cosmos 相关的钩子和操作符默认使用 azure_cosmos_default

配置连接

登录

指定用于初始连接的 Cosmos 终结点 URI。

密码(可选)

指定用于初始连接的 Cosmos 主密钥令牌。可以将其省略以回退到 DefaultAzureCredential

额外(可选)

指定可以在 Azure Cosmos 连接中使用的额外参数(作为 json 字典)。以下参数都是可选的

  • database_name: 指定要使用的 azure cosmos 数据库。

  • collection_name: 指定要使用的 azure cosmos 集合。

  • partition_key: 指定集合的分区键。

  • subscription_id: 指定用于初始连接的订阅 ID。回退到 DefaultAzureCredential 时需要。

  • resource_group_name: 指定所需的 azure cosmos 所在的 Azure 资源组名称。回退到 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_AZURE_COSMOS_DEFAULT='azure-cosmos://https%3A%2F%2Fairflow.azure.com:master%20key@?database_name=mydatabase&collection_name=mycollection'

此条目是否有帮助?