Dela via


Integrera Azure Cosmos DB for NoSQL med Service Anslut or

Den här sidan visar autentiseringsmetoder och klienter som stöds och visar exempelkod som du kan använda för att ansluta Azure Cosmos DB för NoSQL till andra molntjänster med hjälp av Service Anslut or. Du kanske fortfarande kan ansluta till Azure Cosmos DB for NoSQL på andra programmeringsspråk utan att använda Service Anslut or. På den här sidan visas även standardnamn och värden för miljövariabler (eller Spring Boot-konfiguration) som du får när du skapar tjänstanslutningen.

Beräkningstjänster som stöds

Tjänst Anslut eller kan användas för att ansluta följande beräkningstjänster till Azure Cosmos DB för NoSQL:

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

Autentiseringstyper och klienttyper som stöds

Tabellen nedan visar vilka kombinationer av klienttyper och autentiseringsmetoder som stöds för att ansluta beräkningstjänsten till Azure Cosmos DB för NoSQL med hjälp av Service Anslut or. Ett "Ja" anger att kombinationen stöds, medan ett "Nej" anger att den inte stöds.

Klienttyp Systemtilldelad hanterad identitet Användartilldelad hanterad identitet Hemlighet/anslutningssträng Tjänstens huvudnamn
.NET Ja Ja Ja Ja
Java Ja Ja Ja Ja
Java – Spring Boot Ja Ja Ja Ja
Node.js Ja Ja Ja Ja
Python Ja Ja Ja Ja
Kör Ja Ja Ja Ja
None Ja Ja Ja Ja

Den här tabellen anger att alla kombinationer av klienttyper och autentiseringsmetoder i tabellen stöds. Alla klienttyper kan använda någon av autentiseringsmetoderna för att ansluta till Azure Cosmos DB för NoSQL med hjälp av Service Anslut or.

Standardnamn för miljövariabler eller programegenskaper och exempelkod

Använd anslutningsinformationen nedan för att ansluta dina beräkningstjänster till Azure Cosmos DB för NoSQL. För varje exempel nedan ersätter du platshållartexterna <database-server>, <database-name>,<account-key>, <resource-group-name>, <subscription-ID>, <client-ID>, <SQL-server>, <client-secret>, <tenant-id>och <access-key> med din egen information. Mer information om namngivningskonventioner finns i artikeln Service Anslut eller internals.

Systemtilldelad hanterad identitet

SpringBoot-klienttyp

Att använda en systemtilldelad hanterad identitet som autentiseringstyp är endast tillgängligt för Spring Cloud Azure version 4.0 eller senare.

Standardnamn för miljövariabel beskrivning Exempelvärde
spring.cloud.azure.cosmos.credential.managed-identity-enabled Om du vill aktivera hanterad identitet true
spring.cloud.azure.cosmos.database Din databas https://management.azure.com/.default
spring.cloud.azure.cosmos.endpoint Resursslutpunkten https://<database-server>.documents.azure.com:443/

Andra klienttyper

Standardnamn för miljövariabel beskrivning Exempelvärde
AZURE_COSMOS_LISTCONNECTIONSTRINGURL URL:en för att hämta anslutningssträng 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 Ditt omfång för hanterad identitet https://management.azure.com/.default
AZURE_COSMOS_RESOURCEENDPOINT Resursslutpunkten https://<database-server>.documents.azure.com:443/

Exempelkod

Se stegen och koden nedan för att ansluta till Azure Cosmos DB för NoSQL med hjälp av en systemtilldelad identitet.

  1. Installera beroenden.

    dotnet add package Microsoft.Azure.Cosmos
    dotnet add package Azure.Identity
    
  2. Autentisera med NuGet-paketet Azure.Identity och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Anslut or. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.

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

Användartilldelad hanterad identitet

SpringBoot-klienttyp

Att använda en användartilldelad hanterad identitet som autentiseringstyp är endast tillgängligt för Spring Cloud Azure version 4.0 eller senare.

Standardnamn för miljövariabel beskrivning Exempelvärde
spring.cloud.azure.cosmos.credential.managed-identity-enabled Om du vill aktivera hanterad identitet true
spring.cloud.azure.cosmos.database Din databas https://management.azure.com/.default
spring.cloud.azure.cosmos.endpoint Resursslutpunkten https://<database-server>.documents.azure.com:443/
spring.cloud.azure.cosmos.credential.client-id Ditt klient-ID <client-ID>

Andra klienttyper

Standardnamn för miljövariabel beskrivning Exempelvärde
AZURE_COSMOS_LISTCONNECTIONSTRINGURL URL:en för att hämta anslutningssträng 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 Ditt omfång för hanterad identitet https://management.azure.com/.default
AZURE_COSMOS_CLIENTID Ditt klient-ID <client-ID>
AZURE_COSMOS_RESOURCEENDPOINT Resursslutpunkten https://<database-server>.documents.azure.com:443/

Exempelkod

Se stegen och koden nedan för att ansluta till Azure Cosmos DB för NoSQL med hjälp av en användartilldelad identitet.

  1. Installera beroenden.

    dotnet add package Microsoft.Azure.Cosmos
    dotnet add package Azure.Identity
    
  2. Autentisera med NuGet-paketet Azure.Identity och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Anslut or. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.

    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

SpringBoot-klienttyp

Standardnamn för miljövariabel beskrivning Exempelvärde
azure.cosmos.key Åtkomstnyckeln för din databas för Spring Cloud Azure-versionen under 4.0 <access-key>
azure.cosmos.database Din databas för Spring Cloud Azure-versionen under 4.0 <database-name>
azure.cosmos.uri Din databas-URI för Spring Cloud Azure-versionen under 4.0 https://<database-server>.documents.azure.com:443/
spring.cloud.azure.cosmos.key Åtkomstnyckeln för din databas för Spring Cloud Azure-versionen över 4.0 <access-key>
spring.cloud.azure.cosmos.database Din databas för Spring Cloud Azure-versionen över 4.0 <database-name>
spring.cloud.azure.cosmos.endpoint Din databas-URI för Spring Cloud Azure-versionen över 4.0 https://<database-server>.documents.azure.com:443/

Andra klienttyper

Standardnamn för miljövariabel beskrivning Exempelvärde
AZURE_COSMOS_CONNECTIONSTRING Azure Cosmos DB för NoSQL anslutningssträng AccountEndpoint=https://<database-server>.documents.azure.com:443/;AccountKey=<account-key>

Exempelkod

Se stegen och koden nedan för att ansluta till Azure Cosmos DB för NoSQL med hjälp av en anslutningssträng.

  1. Installera beroende.

    dotnet add package Microsoft.Azure.Cosmos
    
  2. Hämta anslutningssträng från miljövariabeln som lagts till av Service Anslut eller.

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

Tjänstens huvudnamn

SpringBoot-klienttyp

Standardnamn för miljövariabel beskrivning Exempelvärde
spring.cloud.azure.cosmos.credential.client-id Ditt klient-ID <client-ID>
spring.cloud.azure.cosmos.credential.client-secret Din klienthemlighet <client-secret>
spring.cloud.azure.cosmos.profile.tenant-id Ditt klientorganisations-ID <tenant-ID>
spring.cloud.azure.cosmos.database Din databas <database-name>
spring.cloud.azure.cosmos.endpoint Resursslutpunkten https://<database-server>.documents.azure.com:443/

Andra klienttyper

Standardnamn för miljövariabel beskrivning Exempelvärde
AZURE_COSMOS_LISTCONNECTIONSTRINGURL URL:en för att hämta anslutningssträng 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 Ditt omfång för hanterad identitet https://management.azure.com/.default
AZURE_COSMOS_CLIENTID Ditt klienthemlighets-ID <client-ID>
AZURE_COSMOS_CLIENTSECRET Din klienthemlighet <client-secret>
AZURE_COSMOS_TENANTID Ditt klientorganisations-ID <tenant-ID>
AZURE_COSMOS_RESOURCEENDPOINT Resursslutpunkten https://<database-server>.documents.azure.com:443/

Exempelkod

Se stegen och koden nedan för att ansluta till Azure Cosmos DB för NoSQL med hjälp av tjänstens huvudnamn.

  1. Installera beroenden.

    dotnet add package Microsoft.Azure.Cosmos
    dotnet add package Azure.Identity
    
  2. Autentisera med NuGet-paketet Azure.Identity och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Anslut or. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.

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

Nästa steg

Följ självstudierna nedan om du vill veta mer om Service Anslut or.