Integrowanie usługi Azure Cosmos DB for NoSQL z usługą Połączenie or

Na tej stronie przedstawiono obsługiwane metody uwierzytelniania i klientów oraz pokazano przykładowy kod, którego można użyć do połączenia usługi Azure Cosmos DB for NoSQL z innymi usługami w chmurze przy użyciu usługi Service Połączenie or. Nadal możesz nawiązać połączenie z usługą Azure Cosmos DB for NoSQL w innych językach programowania bez korzystania z usługi Połączenie or. Na tej stronie są również wyświetlane domyślne nazwy zmiennych środowiskowych i wartości (lub konfiguracja platformy Spring Boot) podczas tworzenia połączenia z usługą.

Obsługiwane usługi obliczeniowe

Usługa Połączenie or może służyć do łączenia następujących usług obliczeniowych z usługą Azure Cosmos DB for NoSQL:

  • Azure App Service
  • Azure Functions
  • Azure Container Apps
  • Azure Spring Apps

Obsługiwane typy uwierzytelniania i typy klientów

W poniższej tabeli przedstawiono, które kombinacje typów klientów i metod uwierzytelniania są obsługiwane do łączenia usługi obliczeniowej z usługą Azure Cosmos DB for NoSQL przy użyciu usługi Service Połączenie or. Wartość "Tak" wskazuje, że kombinacja jest obsługiwana, a wartość "Nie" wskazuje, że nie jest obsługiwana.

Typ klienta Tożsamość zarządzana przypisana przez system Tożsamość zarządzana przypisana przez użytkownika Wpis tajny/parametry połączenia Jednostka usługi
.NET Tak Tak Tak Tak
Java Tak Tak Tak Tak
Java — Spring Boot Tak Tak Tak Tak
Node.js Tak Tak Tak Tak
Python Tak Tak Tak Tak
Go Tak Tak Tak Tak
None Tak Tak Tak Tak

Ta tabela wskazuje, że obsługiwane są wszystkie kombinacje typów klientów i metod uwierzytelniania w tabeli. Wszystkie typy klientów mogą używać dowolnej metody uwierzytelniania do nawiązywania połączenia z usługą Azure Cosmos DB for NoSQL przy użyciu Połączenie or usługi.

Domyślne nazwy zmiennych środowiskowych lub właściwości aplikacji i przykładowy kod

Użyj poniższych szczegółów połączenia, aby połączyć usługi obliczeniowe z usługą Azure Cosmos DB for NoSQL. Dla każdego z poniższych przykładów <database-server>zastąp tekst zastępczy , , , <SQL-server><subscription-ID><account-key><database-name><client-ID><client-secret><resource-group-name><tenant-id>i <access-key> własnymi informacjami. Aby uzyskać więcej informacji na temat konwencji nazewnictwa, zapoznaj się z artykułem Service Połączenie or internals (Usługi Połączenie or internals).

Tożsamość zarządzana przypisana przez system

Typ klienta SpringBoot

Użycie tożsamości zarządzanej przypisanej przez system jako typu uwierzytelniania jest dostępne tylko dla platformy Azure Spring Cloud w wersji 4.0 lub nowszej.

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
spring.cloud.azure.cosmos.credential.managed-identity-enabled Czy włączyć tożsamość zarządzaną true
spring.cloud.azure.cosmos.database Baza danych https://management.azure.com/.default
spring.cloud.azure.cosmos.endpoint Punkt końcowy zasobu https://<database-server>.documents.azure.com:443/

Inne typy klientów

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
AZURE_COSMOS_LISTCONNECTIONSTRINGURL Adres URL umożliwiający pobranie parametry połączenia https://management.azure.com/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<database-server>/listConnectionStrings?api-version=2021-04-15
AZURE_COSMOS_SCOPE Zakres tożsamości zarządzanej https://management.azure.com/.default
AZURE_COSMOS_RESOURCEENDPOINT Punkt końcowy zasobu https://<database-server>.documents.azure.com:443/

Przykładowy kod

Zapoznaj się z poniższymi krokami i kodem, aby nawiązać połączenie z usługą Azure Cosmos DB for NoSQL przy użyciu tożsamości przypisanej przez system.

  1. Instalowanie zależności.

    dotnet add package Microsoft.Azure.Cosmos
    dotnet add package Azure.Identity
    
  2. Uwierzytelnij się przy użyciu Azure.Identity pakietu NuGet i pobierz adres URL punktu końcowego ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.

    using Microsoft.Azure.Cosmos;
    using Azure.Core;
    using Azure.Identity;
    using System; 
    
    // Uncomment the following lines according to the authentication type.
    // 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
    );
    

Tożsamość zarządzana przypisana przez użytkownika

Typ klienta SpringBoot

Użycie tożsamości zarządzanej przypisanej przez użytkownika jako typu uwierzytelniania jest dostępne tylko dla platformy Spring Cloud w wersji 4.0 lub nowszej.

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
spring.cloud.azure.cosmos.credential.managed-identity-enabled Czy włączyć tożsamość zarządzaną true
spring.cloud.azure.cosmos.database Baza danych https://management.azure.com/.default
spring.cloud.azure.cosmos.endpoint Punkt końcowy zasobu https://<database-server>.documents.azure.com:443/
spring.cloud.azure.cosmos.credential.client-id Identyfikator klienta <client-ID>

Inne typy klientów

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
AZURE_COSMOS_LISTCONNECTIONSTRINGURL Adres URL umożliwiający pobranie parametry połączenia https://management.azure.com/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<database-server>/listConnectionStrings?api-version=2021-04-15
AZURE_COSMOS_SCOPE Zakres tożsamości zarządzanej https://management.azure.com/.default
AZURE_COSMOS_CLIENTID Identyfikator klienta <client-ID>
AZURE_COSMOS_RESOURCEENDPOINT Punkt końcowy zasobu https://<database-server>.documents.azure.com:443/

Przykładowy kod

Zapoznaj się z poniższymi krokami i kodem, aby nawiązać połączenie z usługą Azure Cosmos DB for NoSQL przy użyciu tożsamości przypisanej przez użytkownika.

  1. Instalowanie zależności.

    dotnet add package Microsoft.Azure.Cosmos
    dotnet add package Azure.Identity
    
  2. Uwierzytelnij się przy użyciu Azure.Identity pakietu NuGet i pobierz adres URL punktu końcowego ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.

    using Microsoft.Azure.Cosmos;
    using Azure.Core;
    using Azure.Identity;
    using System; 
    
    // Uncomment the following lines according to the authentication type.
    // 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
    );
    

Connection string

Typ klienta SpringBoot

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
azure.cosmos.key Klucz dostępu bazy danych dla platformy Azure Spring Cloud w wersji starszej niż 4.0 <access-key>
azure.cosmos.database Twoja baza danych dla platformy Azure Spring Cloud w wersji starszej niż 4.0 <database-name>
azure.cosmos.uri Identyfikator URI bazy danych dla platformy Azure Spring Cloud w wersji starszej niż 4.0 https://<database-server>.documents.azure.com:443/
spring.cloud.azure.cosmos.key Klucz dostępu bazy danych dla platformy Azure Spring Cloud w wersji ponad 4.0 <access-key>
spring.cloud.azure.cosmos.database Twoja baza danych dla platformy Azure Spring Cloud w wersji ponad 4.0 <database-name>
spring.cloud.azure.cosmos.endpoint Identyfikator URI bazy danych dla platformy Azure Spring Cloud w wersji ponad 4.0 https://<database-server>.documents.azure.com:443/

Inne typy klientów

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
AZURE_COSMOS_CONNECTIONSTRING Usługa Azure Cosmos DB for NoSQL parametry połączenia AccountEndpoint=https://<database-server>.documents.azure.com:443/;AccountKey=<account-key>

Przykładowy kod

Zapoznaj się z poniższymi krokami i kodem, aby nawiązać połączenie z usługą Azure Cosmos DB for NoSQL przy użyciu parametry połączenia.

  1. Zainstaluj zależność.

    dotnet add package Microsoft.Azure.Cosmos
    
  2. Pobierz parametry połączenia ze zmiennej środowiskowej dodanej przez Połączenie or usługi.

    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")!
    );
    

Jednostka usługi

Typ klienta SpringBoot

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
spring.cloud.azure.cosmos.credential.client-id Identyfikator klienta <client-ID>
spring.cloud.azure.cosmos.credential.client-secret Klucz tajny klienta <client-secret>
spring.cloud.azure.cosmos.profile.tenant-id Identyfikator dzierżawy <tenant-ID>
spring.cloud.azure.cosmos.database Baza danych <database-name>
spring.cloud.azure.cosmos.endpoint Punkt końcowy zasobu https://<database-server>.documents.azure.com:443/

Inne typy klientów

Domyślna nazwa zmiennej środowiskowej opis Przykładowa wartość
AZURE_COSMOS_LISTCONNECTIONSTRINGURL Adres URL umożliwiający pobranie parametry połączenia https://management.azure.com/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<database-server>/listConnectionStrings?api-version=2021-04-15
AZURE_COSMOS_SCOPE Zakres tożsamości zarządzanej https://management.azure.com/.default
AZURE_COSMOS_CLIENTID Identyfikator wpisu tajnego klienta <client-ID>
AZURE_COSMOS_CLIENTSECRET Klucz tajny klienta <client-secret>
AZURE_COSMOS_TENANTID Identyfikator dzierżawy <tenant-ID>
AZURE_COSMOS_RESOURCEENDPOINT Punkt końcowy zasobu https://<database-server>.documents.azure.com:443/

Przykładowy kod

Zapoznaj się z poniższymi krokami i kodem, aby nawiązać połączenie z usługą Azure Cosmos DB for NoSQL przy użyciu jednostki usługi.

  1. Instalowanie zależności.

    dotnet add package Microsoft.Azure.Cosmos
    dotnet add package Azure.Identity
    
  2. Uwierzytelnij się przy użyciu Azure.Identity pakietu NuGet i pobierz adres URL punktu końcowego ze zmiennej środowiskowej dodanej przez usługę Połączenie or. Korzystając z poniższego kodu, usuń komentarz z części fragmentu kodu dla typu uwierzytelniania, którego chcesz użyć.

    using Microsoft.Azure.Cosmos;
    using Azure.Core;
    using Azure.Identity;
    using System; 
    
    // Uncomment the following lines according to the authentication type.
    // 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
    );
    

Następne kroki

Postępuj zgodnie z samouczkami wymienionymi poniżej, aby dowiedzieć się więcej o usłudze Połączenie or.