Integrar o Azure Cosmos DB para NoSQL com o Service Connector
Artigo
Esta página mostra os métodos de autenticação e os clientes suportados e mostra o código de exemplo que pode utilizar para ligar o Azure Cosmos DB para NoSQL a outros serviços na nuvem utilizando o Service Connector. Talvez você ainda consiga se conectar ao Azure Cosmos DB para NoSQL em outras linguagens de programação sem usar o Service Connector. Esta página também mostra nomes e valores de variáveis de ambiente padrão (ou configuração do Spring Boot) que você obtém quando cria a conexão de serviço.
Serviços de computação suportados
O Service Connector pode ser usado para conectar os seguintes serviços de computação ao Azure Cosmos DB para NoSQL:
Serviço de Aplicações do Azure
Azure Container Apps
Funções do Azure
Azure Kubernetes Service (AKS)
Azure Spring Apps
Tipos de autenticação e tipos de cliente suportados
A tabela abaixo mostra quais combinações de tipos de cliente e métodos de autenticação têm suporte para conectar seu serviço de computação ao Azure Cosmos DB para NoSQL usando o Service Connector. Um "Sim" indica que a combinação é suportada, enquanto um "Não" indica que ela não é suportada.
Tipo de cliente
Identidade gerida atribuída pelo sistema
Identidade gerida atribuída pelo utilizador
Segredo / cadeia de conexão
Service principal (Principal de serviço)
.NET
Sim
Sim
Sim
Sim
Java
Sim
Sim
Sim
Sim
Java - Arranque primavera
Sim
Sim
Sim
Sim
Node.js
Sim
Sim
Sim
Sim
Python
Sim
Sim
Sim
Sim
Go
Sim
Sim
Sim
Sim
Nenhuma
Sim
Sim
Sim
Sim
Esta tabela indica que todas as combinações de tipos de cliente e métodos de autenticação na tabela são suportadas. Todos os tipos de cliente podem usar qualquer um dos métodos de autenticação para se conectar ao Azure Cosmos DB para NoSQL usando o Service Connector.
Nomes de variáveis de ambiente padrão ou propriedades de aplicativo e código de exemplo
Use os detalhes de conexão abaixo para conectar seus serviços de computação ao Azure Cosmos DB para NoSQL. Para cada exemplo abaixo, substitua os textos <database-server>de espaço reservado , <database-name>,<account-key>, <resource-group-name>, <subscription-ID>, <client-ID>, <SQL-server>, <client-secret>, e <tenant-id><access-key> com suas próprias informações. Para obter mais informações sobre convenções de nomenclatura, consulte o artigo interno do Service Connector.
Identidade gerida atribuída pelo sistema
Tipo de cliente SpringBoot
O uso de uma identidade gerenciada atribuída ao sistema como o tipo de autenticação só está disponível para o Spring Cloud Azure versão 4.0 ou superior.
Autentique-se usando Azure.Identity o pacote NuGet e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
using Microsoft.Azure.Cosmos;
using Azure.Core;
using Azure.Identity;
using System;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// TokenCredential credential = new DefaultAzureCredential();
// For user-assigned identity.
// TokenCredential credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID");
// }
// );
// For service principal.
// TokenCredential credential = new ClientSecretCredential(
// tenantId: Environment.GetEnvironmentVariable("AZURE_COSMOS_TENANTID")!,
// clientId: Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID")!,
// clientSecret: Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTSECRET")!,
// options: new TokenCredentialOptions()
// );
// Create a new instance of CosmosClient using the credential above
using CosmosClient client = new(
accountEndpoint: Environment.GetEnvironmentVariable("AZURE_COSMOS_RESOURCEENDPOINT")!,
tokenCredential: credential
);
Adicione as seguintes dependências no arquivo pom.xml :
Autentique-se e azure-identity obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import com.azure.cosmos.CosmosClient;
import com.azure.cosmos.CosmosClientBuilder;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_COSMOS_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_COSMOS_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_COSMOS_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_COSMOS_TENANTID>"))
// .build();
String endpoint = System.getenv("AZURE_COSMOS_RESOURCEENDPOINT");
CosmosClient cosmosClient = new CosmosClientBuilder()
.endpoint(endpoint)
.credential(credential)
.buildClient();
Consulte Criar um aplicativo Spring Data Azure Cosmos DB v3 para gerenciar o Azure Cosmos DB para dados NoSQL para configurar seu aplicativo Spring. As propriedades de configuração são adicionadas ao Spring Apps pelo Service Connector. O suporte de identidade gerenciada para o Cosmos DB só está disponível para o Spring Cloud Azure versão 4.0 e superior. Para obter mais informações, consulte Spring Cloud Azure - Documentação de referência.
Autentique-se via azure-identity biblioteca e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import os
from azure.cosmos import CosmosClient
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_COSMOS_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_COSMOS_TENANTID')
# client_id = os.getenv('AZURE_COSMOS_CLIENTID')
# client_secret = os.getenv('AZURE_COSMOS_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
endpoint = os.environ["AZURE_COSMOS_RESOURCEENDPOINT"]
client = CosmosClient(url=endpoint, credential=cred)
Instale dependências.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Autentique-se usando azidentity o pacote npm e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import (
"os"
"github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
func main() {
endpoint = os.Getenv("AZURE_COSMOS_RESOURCEENDPOINT")
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// For user-assigned identity.
// clientid := os.Getenv("AZURE_COSMOS_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// For service principal.
// clientid := os.Getenv("AZURE_COSMOS_CLIENTID")
// tenantid := os.Getenv("AZURE_COSMOS_TENANTID")
// clientsecret := os.Getenv("AZURE_COSMOS_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
client, err := azcosmos.NewClient(endpoint, cred, nil)
}
Autentique-se usando @azure/identity o pacote npm e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import { CosmosClient } from "@azure/cosmos";
const { DefaultAzureCredential } = require("@azure/identity");
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// const credential = new DefaultAzureCredential();
// For user-assigned managed identity.
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: process.env.AZURE_COSMOS_CLIENTID
// });
// For service principal.
// const credential = new ClientSecretCredential(
// tenantId: process.env.AZURE_COSMOS_TENANTID,
// clientId: process.env.AZURE_COSMOS_CLIENTID,
// clientSecret: process.env.AZURE_COSMOS_CLIENTSECRET
// );
// Create a new instance of CosmosClient using the credential above
const cosmosClient = new CosmosClient({
process.env.AZURE_COSMOS_RESOURCEENDPOINT,
aadCredentials: credential
});
Para outros idiomas, você pode usar a URL do ponto de extremidade e outras propriedades que o Service Connector define para as variáveis de ambiente para se conectar ao Azure Cosmos DB para NoSQL. Para obter detalhes sobre variáveis de ambiente, consulte Integrar o Azure Cosmos DB para NoSQL com o Service Connector.
Identidade gerida atribuída pelo utilizador
Tipo de cliente SpringBoot
O uso de uma identidade gerenciada atribuída pelo usuário como o tipo de autenticação só está disponível para o Spring Cloud Azure versão 4.0 ou superior.
Autentique-se usando Azure.Identity o pacote NuGet e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
using Microsoft.Azure.Cosmos;
using Azure.Core;
using Azure.Identity;
using System;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// TokenCredential credential = new DefaultAzureCredential();
// For user-assigned identity.
// TokenCredential credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID");
// }
// );
// For service principal.
// TokenCredential credential = new ClientSecretCredential(
// tenantId: Environment.GetEnvironmentVariable("AZURE_COSMOS_TENANTID")!,
// clientId: Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID")!,
// clientSecret: Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTSECRET")!,
// options: new TokenCredentialOptions()
// );
// Create a new instance of CosmosClient using the credential above
using CosmosClient client = new(
accountEndpoint: Environment.GetEnvironmentVariable("AZURE_COSMOS_RESOURCEENDPOINT")!,
tokenCredential: credential
);
Adicione as seguintes dependências no arquivo pom.xml :
Autentique-se e azure-identity obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import com.azure.cosmos.CosmosClient;
import com.azure.cosmos.CosmosClientBuilder;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_COSMOS_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_COSMOS_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_COSMOS_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_COSMOS_TENANTID>"))
// .build();
String endpoint = System.getenv("AZURE_COSMOS_RESOURCEENDPOINT");
CosmosClient cosmosClient = new CosmosClientBuilder()
.endpoint(endpoint)
.credential(credential)
.buildClient();
Consulte Criar um aplicativo Spring Data Azure Cosmos DB v3 para gerenciar o Azure Cosmos DB para dados NoSQL para configurar seu aplicativo Spring. As propriedades de configuração são adicionadas ao Spring Apps pelo Service Connector. O suporte de identidade gerenciada para o Cosmos DB só está disponível para o Spring Cloud Azure versão 4.0 e superior. Para obter mais informações, consulte Spring Cloud Azure - Documentação de referência.
Autentique-se via azure-identity biblioteca e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import os
from azure.cosmos import CosmosClient
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_COSMOS_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_COSMOS_TENANTID')
# client_id = os.getenv('AZURE_COSMOS_CLIENTID')
# client_secret = os.getenv('AZURE_COSMOS_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
endpoint = os.environ["AZURE_COSMOS_RESOURCEENDPOINT"]
client = CosmosClient(url=endpoint, credential=cred)
Instale dependências.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Autentique-se usando azidentity o pacote npm e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import (
"os"
"github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
func main() {
endpoint = os.Getenv("AZURE_COSMOS_RESOURCEENDPOINT")
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// For user-assigned identity.
// clientid := os.Getenv("AZURE_COSMOS_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// For service principal.
// clientid := os.Getenv("AZURE_COSMOS_CLIENTID")
// tenantid := os.Getenv("AZURE_COSMOS_TENANTID")
// clientsecret := os.Getenv("AZURE_COSMOS_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
client, err := azcosmos.NewClient(endpoint, cred, nil)
}
Autentique-se usando @azure/identity o pacote npm e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import { CosmosClient } from "@azure/cosmos";
const { DefaultAzureCredential } = require("@azure/identity");
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// const credential = new DefaultAzureCredential();
// For user-assigned managed identity.
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: process.env.AZURE_COSMOS_CLIENTID
// });
// For service principal.
// const credential = new ClientSecretCredential(
// tenantId: process.env.AZURE_COSMOS_TENANTID,
// clientId: process.env.AZURE_COSMOS_CLIENTID,
// clientSecret: process.env.AZURE_COSMOS_CLIENTSECRET
// );
// Create a new instance of CosmosClient using the credential above
const cosmosClient = new CosmosClient({
process.env.AZURE_COSMOS_RESOURCEENDPOINT,
aadCredentials: credential
});
Para outros idiomas, você pode usar a URL do ponto de extremidade e outras propriedades que o Service Connector define para as variáveis de ambiente para se conectar ao Azure Cosmos DB para NoSQL. Para obter detalhes sobre variáveis de ambiente, consulte Integrar o Azure Cosmos DB para NoSQL com o Service Connector.
Connection string
Aviso
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento requer um grau muito alto de confiança no aplicativo e acarreta riscos que não estão presentes em outros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.
Tipo de cliente SpringBoot
Nome da variável de ambiente padrão
Description
Valor de exemplo
azure.cosmos.key
A chave de acesso para seu banco de dados para a versão do Spring Cloud Azure abaixo da 4.0
<access-key>
azure.cosmos.database
Seu banco de dados para a versão do Spring Cloud Azure abaixo da 4.0
<database-name>
azure.cosmos.uri
O URI do banco de dados para a versão do Spring Cloud Azure abaixo da 4.0
Obtenha a cadeia de conexão da variável de ambiente adicionada pelo Service Connector.
using Microsoft.Azure.Cosmos;
using System;
// Create a new instance of CosmosClient using a connection string
using CosmosClient client = new(
connectionString: Environment.GetEnvironmentVariable("AZURE_COSMOS_CONNECTIONSTRING")!
);
Adicione a seguinte dependência no arquivo pom.xml :
Consulte os exemplos do Spring Data Azure Cosmos DB v3 e Crie um aplicativo Spring Data Azure Cosmos DB v3 para gerenciar dados do Azure Cosmos DB para NoSQL para configurar seu aplicativo Spring. As propriedades de configuração são adicionadas ao Spring Apps pelo Service Connector. Dois conjuntos de propriedades de configuração são fornecidos de acordo com a versão do Spring Cloud Azure (abaixo de 4.0 e acima de 4.0). Para obter mais informações sobre alterações na biblioteca do Spring Cloud Azure, consulte o Guia de Migração do Spring Cloud Azure. É recomendável usar o Spring Cloud Azure versão 4.0 e superior. As configurações no formato "azure.cosmos.*" do Spring Cloud Azure 3.x não serão mais suportadas após 1º de julho de 2024.
Instalar dependência.
pip install azure-cosmos
Obtenha a cadeia de conexão da variável de ambiente adicionada pelo Service Connector.
import os
from azure.cosmos import CosmosClient
# Create a new instance of CosmosClient using a connection string
CONN_STR = os.environ["AZURE_COSMOS_CONNECTIONSTRING"]
client = CosmosClient.from_connection_string(conn_str=CONN_STR)
Instalar dependência.
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Obtenha a cadeia de conexão da variável de ambiente adicionada pelo Service Connector.
Obtenha a cadeia de conexão da variável de ambiente adicionada pelo Service Connector.
import { CosmosClient } from "@azure/cosmos";
// Create a new instance of CosmosClient using a connection string
const cosmosClient = new CosmosClient(process.env.AZURE_COSMOS_CONNECTIONSTRING);
Para outros idiomas, você pode usar a URL do ponto de extremidade e outras propriedades que o Service Connector define para as variáveis de ambiente para se conectar ao Azure Cosmos DB para NoSQL. Para obter detalhes sobre variáveis de ambiente, consulte Integrar o Azure Cosmos DB para NoSQL com o Service Connector.
Autentique-se usando Azure.Identity o pacote NuGet e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
using Microsoft.Azure.Cosmos;
using Azure.Core;
using Azure.Identity;
using System;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// TokenCredential credential = new DefaultAzureCredential();
// For user-assigned identity.
// TokenCredential credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID");
// }
// );
// For service principal.
// TokenCredential credential = new ClientSecretCredential(
// tenantId: Environment.GetEnvironmentVariable("AZURE_COSMOS_TENANTID")!,
// clientId: Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID")!,
// clientSecret: Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTSECRET")!,
// options: new TokenCredentialOptions()
// );
// Create a new instance of CosmosClient using the credential above
using CosmosClient client = new(
accountEndpoint: Environment.GetEnvironmentVariable("AZURE_COSMOS_RESOURCEENDPOINT")!,
tokenCredential: credential
);
Adicione as seguintes dependências no arquivo pom.xml :
Autentique-se e azure-identity obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import com.azure.cosmos.CosmosClient;
import com.azure.cosmos.CosmosClientBuilder;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_COSMOS_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_COSMOS_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_COSMOS_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_COSMOS_TENANTID>"))
// .build();
String endpoint = System.getenv("AZURE_COSMOS_RESOURCEENDPOINT");
CosmosClient cosmosClient = new CosmosClientBuilder()
.endpoint(endpoint)
.credential(credential)
.buildClient();
Consulte Criar um aplicativo Spring Data Azure Cosmos DB v3 para gerenciar o Azure Cosmos DB para dados NoSQL para configurar seu aplicativo Spring. As propriedades de configuração são adicionadas ao Spring Apps pelo Service Connector. O suporte de identidade gerenciada para o Cosmos DB só está disponível para o Spring Cloud Azure versão 4.0 e superior. Para obter mais informações, consulte Spring Cloud Azure - Documentação de referência.
Autentique-se via azure-identity biblioteca e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import os
from azure.cosmos import CosmosClient
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_COSMOS_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_COSMOS_TENANTID')
# client_id = os.getenv('AZURE_COSMOS_CLIENTID')
# client_secret = os.getenv('AZURE_COSMOS_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
endpoint = os.environ["AZURE_COSMOS_RESOURCEENDPOINT"]
client = CosmosClient(url=endpoint, credential=cred)
Instale dependências.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Autentique-se usando azidentity o pacote npm e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import (
"os"
"github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
func main() {
endpoint = os.Getenv("AZURE_COSMOS_RESOURCEENDPOINT")
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// For user-assigned identity.
// clientid := os.Getenv("AZURE_COSMOS_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// For service principal.
// clientid := os.Getenv("AZURE_COSMOS_CLIENTID")
// tenantid := os.Getenv("AZURE_COSMOS_TENANTID")
// clientsecret := os.Getenv("AZURE_COSMOS_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
client, err := azcosmos.NewClient(endpoint, cred, nil)
}
Autentique-se usando @azure/identity o pacote npm e obtenha a URL do ponto de extremidade da variável de ambiente adicionada pelo Service Connector. Ao usar o código abaixo, descomente a parte do trecho de código para o tipo de autenticação que você deseja usar.
import { CosmosClient } from "@azure/cosmos";
const { DefaultAzureCredential } = require("@azure/identity");
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// const credential = new DefaultAzureCredential();
// For user-assigned managed identity.
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: process.env.AZURE_COSMOS_CLIENTID
// });
// For service principal.
// const credential = new ClientSecretCredential(
// tenantId: process.env.AZURE_COSMOS_TENANTID,
// clientId: process.env.AZURE_COSMOS_CLIENTID,
// clientSecret: process.env.AZURE_COSMOS_CLIENTSECRET
// );
// Create a new instance of CosmosClient using the credential above
const cosmosClient = new CosmosClient({
process.env.AZURE_COSMOS_RESOURCEENDPOINT,
aadCredentials: credential
});
Para outros idiomas, você pode usar a URL do ponto de extremidade e outras propriedades que o Service Connector define para as variáveis de ambiente para se conectar ao Azure Cosmos DB para NoSQL. Para obter detalhes sobre variáveis de ambiente, consulte Integrar o Azure Cosmos DB para NoSQL com o Service Connector.
Próximos passos
Siga os tutoriais listados abaixo para saber mais sobre o Service Connector.