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 Connector. Du kanske fortfarande kan ansluta till Azure Cosmos DB för NoSQL på andra programmeringsspråk utan att använda Service Connector. 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
Service Connector kan användas för att ansluta följande beräkningstjänster till Azure Cosmos DB för NoSQL:
- Azure App Service
- Azure Container Apps
- Azure Functions
- Azure Kubernetes Service (AKS)
- 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 Connector. 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 Connector.
Anmärkning
Cosmos DB stöder inte inbyggt autentisering via hanterad identitet. Därför använder Service Connector den hanterade identiteten för att hämta anslutningssträngen, och anslutningen upprättas sedan med hjälp av anslutningssträngen.
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 om Service Connector-interna.
Systemtilldelad hanterad identitet
Eftersom Cosmos DB inte har inbyggt stöd för autentisering via hanterad identitet använder vi i följande kodexempel den hanterade identiteten för att hämta anslutningssträngen, och anslutningen upprättas sedan med hjälp av anslutningssträngen.
Spring Boot-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 |
Din resursendpunkt |
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.
Installera beroenden.
dotnet add package Microsoft.Azure.Cosmos
dotnet add package Azure.Identity
Autentisera med NuGet-paketet Azure.Identity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. 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 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
);
Lägg till följande beroenden i din pom.xml-fil :
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.1.5</version>
</dependency>
Autentisera via azure-identity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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();
- Installera beroenden.
pip install azure-identity
pip install azure-cosmos
- Autentisera via
azure-identity
biblioteket och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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)
- Installera beroenden.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
- Autentisera med npm-paketet
azidentity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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)
}
Installera beroenden.
npm install @azure/identity
npm install @azure/cosmos
Autentisera med npm-paketet @azure/identity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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
});
Användartilldelad hanterad identitet
Eftersom Cosmos DB inte har inbyggt stöd för autentisering via hanterad identitet använder vi i följande kodexempel den hanterade identiteten för att hämta anslutningssträngen, och anslutningen upprättas sedan med hjälp av anslutningssträngen.
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 hanterade identitetsomfång |
https://management.azure.com/.default |
AZURE_COSMOS_CLIENTID |
Ditt klient-ID |
<client-ID> |
AZURE_COSMOS_RESOURCEENDPOINT |
Din resursändpunkt |
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.
Installera de nödvändiga beroendena.
dotnet add package Microsoft.Azure.Cosmos
dotnet add package Azure.Identity
Autentisera med NuGet-paketet Azure.Identity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. 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 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
);
Lägg till följande beroenden i din pom.xml-fil :
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.1.5</version>
</dependency>
Autentisera via azure-identity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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();
- Installera beroenden.
pip install azure-identity
pip install azure-cosmos
- Autentisera via
azure-identity
biblioteket och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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)
- Installera beroenden.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
- Autentisera med npm-paketet
azidentity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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)
}
Installera beroenden.
npm install @azure/identity
npm install @azure/cosmos
Autentisera med npm-paketet @azure/identity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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
});
anslutningssträng
Varning
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Det autentiseringsflöde som beskrivs i den här proceduren kräver mycket stort förtroende för programmet och medför risker som inte finns i andra flöden. Du bör bara använda det här flödet när andra säkrare flöden, till exempel hanterade identiteter, inte är livskraftiga.
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.
Installera beroendeprogramvara.
dotnet add package Microsoft.Azure.Cosmos
Hämta anslutningssträng från miljövariabeln som lagts till av 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")!
);
- Lägg till följande beroende i din pom.xml-fil :
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>LATEST</version>
</dependency>
- Hämta anslutningssträng från miljövariabeln som lagts till av Service Connector.
import com.azure.cosmos.CosmosClient;
import com.azure.cosmos.CosmosClientBuilder;
String connectionStr = System.getenv("AZURE_COSMOS_CONNECTIONSTRING");
String[] connInfo = connectionStr.split(";");
String endpoint = connInfo[0].split("=")[1];
String accountKey = connInfo[1].split("=")[1];
CosmosClient cosmosClient = new CosmosClientBuilder()
.endpoint(endpoint)
.key(accountKey)
.buildClient();
- Installera beroendeprogram.
pip install azure-cosmos
- Hämta anslutningssträng från miljövariabeln som lagts till av 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)
- Installera beroendeprogram.
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
- Hämta anslutningssträng från miljövariabeln som lagts till av Service Connector.
import {
"github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos"
}
connectionString := os.Getenv("AZURE_COSMOS_CONNECTIONSTRING")
client, err := azcosmos.NewClientFromConnectionString(connectionString, nil)
- Installera beroenden.
npm install @azure/cosmos
- Hämta anslutningssträng från miljövariabeln som lagts till av 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);
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 |
Resursslutpunkt |
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 hyresgäst-ID |
<tenant-ID> |
AZURE_COSMOS_RESOURCEENDPOINT |
Din resursändpunkt |
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.
Installera beroenden.
dotnet add package Microsoft.Azure.Cosmos
dotnet add package Azure.Identity
Autentisera med NuGet-paketet Azure.Identity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. 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 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
);
Lägg till följande beroenden i din pom.xml-fil :
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.1.5</version>
</dependency>
Autentisera via azure-identity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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();
- Installera beroendena.
pip install azure-identity
pip install azure-cosmos
- Autentisera via
azure-identity
biblioteket och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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)
- Installera beroenden.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
- Autentisera med npm-paketet
azidentity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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)
}
Installera beroenden.
npm install @azure/identity
npm install @azure/cosmos
Autentisera med npm-paketet @azure/identity
och hämta slutpunkts-URL:en från miljövariabeln som lagts till av Service Connector. När du använder koden nedan avkommentarer du delen av kodfragmentet för den autentiseringstyp som du vill använda.
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
});
Nästa steg
Följ självstudierna nedan om du vill veta mer om Service Connector.