Integrieren von Azure Cosmos DB for NoSQL mit Service Connector
Artikel
Auf dieser Seite werden unterstützte Authentifizierungsmethoden und Clients sowie Beispielcode gezeigt, den Sie verwenden können, um Azure Cosmos DB for NoSQL mit anderen Clouddiensten mithilfe von Service Connector zu verbinden. Möglicherweise können Sie auch in anderen Programmiersprachen eine Verbindung mit Azure Cosmos DB for NoSQLSQL herstellen, ohne Service Connector zu verwenden. Auf dieser Seite werden auch die Namen und Werte der Standardumgebungsvariablen (oder die Spring Boot-Konfiguration) angezeigt, die Sie erhalten, wenn Sie die Dienstverbindung erstellen.
Unterstützte Computedienste
Mit Service Connector können Sie die folgenden Computedienste mit Azure Cosmos DB for NoSQL verbinden:
Azure App Service
Azure Container Apps
Azure-Funktionen
Azure Kubernetes Service (AKS)
Azure Spring Apps
Unterstützte Authentifizierungstypen und Clienttypen
Die folgende Tabelle zeigt, welche Kombinationen von Clienttypen und Authentifizierungsmethoden für die Verbindung Ihres Computediensts mit Azure Cosmos DB for NoSQL mithilfe von Service Connector unterstützt werden. Ein „Ja“ gibt an, dass die Kombination unterstützt wird, während ein „Nein“ angibt, dass sie nicht unterstützt wird.
Clienttyp
Systemseitig zugewiesene verwaltete Identität
Benutzerseitig zugewiesene verwaltete Identität
Geheimnis/Verbindungszeichenfolge
Dienstprinzipal
.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
Go
Ja
Ja
Ja
Ja
Keine
Ja
Ja
Ja
Ja
In der Tabelle wird angegeben, dass alle Kombinationen von Clienttypen und Authentifizierungsmethoden in der Tabelle unterstützt werden. Alle Clienttypen können jede der Authentifizierungsmethoden verwenden, um mithilfe von Service Connector eine Verbindung mit Azure Cosmos DB for NoSQL herzustellen.
Namen der Standardumgebungsvariablen oder Anwendungseigenschaften und Beispielcode
Verwenden Sie die nachstehenden Verbindungsdetails, um Ihre Computedienste mit Azure Cosmos DB for NoSQL zu verbinden. Ersetzen Sie den Platzhaltertext <database-server>, <database-name>, <account-key>, <resource-group-name>, <subscription-ID>, <client-ID>, <SQL-server>, <client-secret>, <tenant-id> und <access-key> in allen Beispielen unten durch Ihre eigenen Informationen. Weitere Informationen zu Benennungskonventionen finden Sie im Artikel Besonderheiten des Dienstconnectors.
Systemseitig zugewiesene verwaltete Identität
SpringBoot-Clienttyp
Die Verwendung einer systemseitig zugewiesenen verwalteten Identität als Authentifizierungstyp ist nur für Spring Cloud Azure Version 4.0 oder höher verfügbar.
Nutzen Sie die folgenden Schritte und den folgenden Code, um eine Verbindung mit Azure Cosmos DB for NoSQL mithilfe einer systemseitig zugewiesenen verwalteten Identität herzustellen.
Authentifizieren Sie sich mithilfe des NuGet-Pakets Azure.Identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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
);
Fügen Sie der Datei pom.xml die folgenden Abhängigkeiten hinzu:
Authentifizieren Sie sich mithilfe von azure-identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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();
Authentifizieren Sie sich mithilfe der Bibliothek azure-identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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)
Installieren Sie Abhängigkeiten.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Authentifizieren Sie sich mithilfe des npm-Pakets azidentity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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)
}
Authentifizieren Sie sich mithilfe des npm-Pakets @azure/identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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
});
Für andere Sprachen können Sie die Endpunkt-URL und andere Eigenschaften verwenden, die Service Connector auf die Umgebungsvariablen festlegt, um eine Verbindung mit Azure Cosmos DB for NoSQL herzustellen. Weitere Informationen zu Umgebungsvariablen finden Sie unter Integrieren von Azure Cosmos DB for NoSQL mit Service Connector.
Benutzerseitig zugewiesene verwaltete Identität
SpringBoot-Clienttyp
Die Verwendung einer benutzerseitig zugewiesenen verwalteten Identität als Authentifizierungstyp ist nur für Spring Cloud Azure Version 4.0 oder höher verfügbar.
Nutzen Sie die folgenden Schritte und den folgenden Code, um eine Verbindung mit Azure Cosmos DB for NoSQL mithilfe einer benutzerseitig zugewiesenen verwalteten Identität herzustellen.
Authentifizieren Sie sich mithilfe des NuGet-Pakets Azure.Identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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
);
Fügen Sie der Datei pom.xml die folgenden Abhängigkeiten hinzu:
Authentifizieren Sie sich mithilfe von azure-identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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();
Authentifizieren Sie sich mithilfe der Bibliothek azure-identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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)
Installieren Sie Abhängigkeiten.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Authentifizieren Sie sich mithilfe des npm-Pakets azidentity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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)
}
Authentifizieren Sie sich mithilfe des npm-Pakets @azure/identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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
});
Für andere Sprachen können Sie die Endpunkt-URL und andere Eigenschaften verwenden, die Service Connector auf die Umgebungsvariablen festlegt, um eine Verbindung mit Azure Cosmos DB for NoSQL herzustellen. Weitere Informationen zu Umgebungsvariablen finden Sie unter Integrieren von Azure Cosmos DB for NoSQL mit Service Connector.
Connection string
Warnung
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Der in diesem Verfahren beschriebene Authentifizierungsflow erfordert ein sehr hohes Maß an Vertrauen in die Anwendung und birgt Risiken, die bei anderen Flows nicht vorhanden sind. Sie sollten diesen Flow nur verwenden, wenn andere sicherere Flows (z. B. verwaltete Identitäten) nicht anwendbar sind.
SpringBoot-Clienttyp
Standardname der Umgebungsvariablen
Beschreibung
Beispielswert
azure.cosmos.key
Der Zugriffsschlüssel für Ihre Datenbank für Spring Cloud Azure Version unter 4.0
<access-key>
azure.cosmos.database
Ihre Datenbank für Spring Cloud Azure Version unter 4.0
<database-name>
azure.cosmos.uri
Ihr Datenbank-URI für Spring Cloud Azure Version unter 4.0
Nutzen Sie die folgenden Schritte und den folgenden Code, um eine Verbindung mit Azure Cosmos DB for NoSQL mithilfe einer Verbindungszeichenfolge herzustellen.
Rufen Sie die Verbindungszeichenfolge aus der Umgebungsvariablen ab, die vom Dienstconnector hinzugefügt wurde.
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")!
);
Fügen Sie der Datei pom.xml die folgende Abhängigkeit hinzu:
Weitere Informationen zur Einrichtung Ihrer Spring-Anwendung finden Sie unter Spring Data Azure Cosmos DB v3-Beispiele und Erstellen einer Spring Data Azure Cosmos DB v3-App zum Verwalten von Azure Cosmos DB for NoSQL-Daten. Die Konfigurationseigenschaften werden Spring-Apps vom Dienstconnector hinzugefügt. Je nach Version von Spring Cloud Azure (unter 4.0 und über 4.0) werden zwei Sätze von Konfigurationseigenschaften bereitgestellt. Weitere Informationen zu Bibliotheksänderungen von Spring Cloud Azure finden Sie im Migrationsleitfaden zu Spring Cloud Azure. Wir empfehlen die Verwendung von Spring Cloud Azure Version 4.0 und höher. Die Konfigurationen im Format „azure.cosmos.*“ aus Spring Cloud Azure 3.x werden nach dem 1. Juli 2024 nicht mehr unterstützt.
Installieren Sie die Abhängigkeit.
pip install azure-cosmos
Rufen Sie die Verbindungszeichenfolge aus der Umgebungsvariablen ab, die vom Dienstconnector hinzugefügt wurde.
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)
Installieren Sie die Abhängigkeit.
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Rufen Sie die Verbindungszeichenfolge aus der Umgebungsvariablen ab, die vom Dienstconnector hinzugefügt wurde.
Rufen Sie die Verbindungszeichenfolge aus der Umgebungsvariablen ab, die vom Dienstconnector hinzugefügt wurde.
import { CosmosClient } from "@azure/cosmos";
// Create a new instance of CosmosClient using a connection string
const cosmosClient = new CosmosClient(process.env.AZURE_COSMOS_CONNECTIONSTRING);
Für andere Sprachen können Sie die Endpunkt-URL und andere Eigenschaften verwenden, die Service Connector auf die Umgebungsvariablen festlegt, um eine Verbindung mit Azure Cosmos DB for NoSQL herzustellen. Weitere Informationen zu Umgebungsvariablen finden Sie unter Integrieren von Azure Cosmos DB for NoSQL mit Service Connector.
Nutzen Sie die folgenden Schritte und den folgenden Code, um eine Verbindung mit Azure Cosmos DB for NoSQL mithilfe eines Dienstprinzipals herzustellen.
Authentifizieren Sie sich mithilfe des NuGet-Pakets Azure.Identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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
);
Fügen Sie der Datei pom.xml die folgenden Abhängigkeiten hinzu:
Authentifizieren Sie sich mithilfe von azure-identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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();
Authentifizieren Sie sich mithilfe der Bibliothek azure-identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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)
Installieren Sie Abhängigkeiten.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Authentifizieren Sie sich mithilfe des npm-Pakets azidentity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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)
}
Authentifizieren Sie sich mithilfe des npm-Pakets @azure/identity, und rufen Sie die Endpunkt-URL aus der von Service Connector hinzugefügten Umgebungsvariablen ab. Wenn Sie den folgenden Code verwenden, heben Sie die Auskommentierung des Teils des Codeschnipsels für den Authentifizierungstyp auf, den Sie verwenden möchten.
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
});
Für andere Sprachen können Sie die Endpunkt-URL und andere Eigenschaften verwenden, die Service Connector auf die Umgebungsvariablen festlegt, um eine Verbindung mit Azure Cosmos DB for NoSQL herzustellen. Weitere Informationen zu Umgebungsvariablen finden Sie unter Integrieren von Azure Cosmos DB for NoSQL mit Service Connector.
Nächste Schritte
Befolgen Sie die unten aufgeführten Tutorials, um mehr über Service Connector zu erfahren.