Integrowanie usługi Azure Cosmos DB for NoSQL z usługą Połączenie or
Artykuł
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.
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
);
Uwierzytelnij się za pomocą azure-identity metody 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ć.
import com.azure.cosmos.CosmosClient;
import com.azure.cosmos.CosmosClientBuilder;
// Uncomment the following lines according to the authentication type.
// 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();
Uwierzytelnij się za pośrednictwem azure-identity biblioteki 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ć.
import os
from azure.cosmos import CosmosClient
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
# Uncomment the following lines according to the authentication type.
# 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)
Instalowanie zależności.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Uwierzytelnij się przy użyciu azidentity pakietu npm 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ć.
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 according to the authentication type.
// 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)
}
Uwierzytelnij się przy użyciu @azure/identity pakietu npm 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ć.
import { CosmosClient } from "@azure/cosmos";
const { DefaultAzureCredential } = require("@azure/identity");
// Uncomment the following lines according to the authentication type.
// 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
});
W przypadku innych języków można użyć adresu URL punktu końcowego i innych właściwości, które usługa Połączenie or ustawia na zmienne środowiskowe w celu nawiązania połączenia z usługą Azure Cosmos DB for NoSQL. Aby uzyskać szczegółowe informacje o zmiennej środowiskowej, zobacz Integrowanie usługi Azure Cosmos DB for NoSQL z usługą Połączenie or.
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.
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.
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
);
Uwierzytelnij się za pomocą azure-identity metody 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ć.
import com.azure.cosmos.CosmosClient;
import com.azure.cosmos.CosmosClientBuilder;
// Uncomment the following lines according to the authentication type.
// 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();
Uwierzytelnij się za pośrednictwem azure-identity biblioteki 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ć.
import os
from azure.cosmos import CosmosClient
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
# Uncomment the following lines according to the authentication type.
# 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)
Instalowanie zależności.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Uwierzytelnij się przy użyciu azidentity pakietu npm 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ć.
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 according to the authentication type.
// 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)
}
Uwierzytelnij się przy użyciu @azure/identity pakietu npm 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ć.
import { CosmosClient } from "@azure/cosmos";
const { DefaultAzureCredential } = require("@azure/identity");
// Uncomment the following lines according to the authentication type.
// 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
});
W przypadku innych języków można użyć adresu URL punktu końcowego i innych właściwości, które usługa Połączenie or ustawia na zmienne środowiskowe w celu nawiązania połączenia z usługą Azure Cosmos DB for NoSQL. Aby uzyskać szczegółowe informacje o zmiennej środowiskowej, zobacz Integrowanie usługi Azure Cosmos DB for NoSQL z usługą Połączenie or.
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
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")!
);
Zapoznaj się z przykładami spring Data Azure Cosmos DB w wersji 3 i Tworzenie aplikacji Spring Data Azure Cosmos DB w wersji 3, aby zarządzać danymi usługi Azure Cosmos DB for NoSQL w celu skonfigurowania aplikacji Spring. Właściwości konfiguracji są dodawane do aplikacji Spring Apps przez usługę Połączenie or. Dwa zestawy właściwości konfiguracji są udostępniane zgodnie z wersją platformy Azure Spring Cloud (poniżej wersji 4.0 i nowszej 4.0). Aby uzyskać więcej informacji na temat zmian bibliotek platformy Spring Cloud na platformie Azure, zobacz Spring Cloud Azure Migration Guide (Przewodnik po migracji spring cloud na platformę Azure). Zaleca się korzystanie z platformy Spring Cloud Azure w wersji 4.0 lub nowszej. Konfiguracje w formacie "azure.cosmos.*" z platformy Spring Cloud Azure 3.x nie będą już obsługiwane po 1 lipca 2024 r.
Zainstaluj zależność.
pip install azure-cosmos
Pobierz parametry połączenia ze zmiennej środowiskowej dodanej przez Połączenie or usługi.
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)
Zainstaluj zależność.
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Pobierz parametry połączenia ze zmiennej środowiskowej dodanej przez Połączenie or usługi.
Pobierz parametry połączenia ze zmiennej środowiskowej dodanej przez Połączenie or usługi.
import { CosmosClient } from "@azure/cosmos";
// Create a new instance of CosmosClient using a connection string
const cosmosClient = new CosmosClient(process.env.AZURE_COSMOS_CONNECTIONSTRING);
W przypadku innych języków można użyć adresu URL punktu końcowego i innych właściwości, które usługa Połączenie or ustawia na zmienne środowiskowe w celu nawiązania połączenia z usługą Azure Cosmos DB for NoSQL. Aby uzyskać szczegółowe informacje o zmiennej środowiskowej, zobacz Integrowanie usługi Azure Cosmos DB for NoSQL z usługą Połączenie or.
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
);
Uwierzytelnij się za pomocą azure-identity metody 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ć.
import com.azure.cosmos.CosmosClient;
import com.azure.cosmos.CosmosClientBuilder;
// Uncomment the following lines according to the authentication type.
// 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();
Uwierzytelnij się za pośrednictwem azure-identity biblioteki 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ć.
import os
from azure.cosmos import CosmosClient
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
# Uncomment the following lines according to the authentication type.
# 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)
Instalowanie zależności.
go get t github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos
Uwierzytelnij się przy użyciu azidentity pakietu npm 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ć.
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 according to the authentication type.
// 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)
}
Uwierzytelnij się przy użyciu @azure/identity pakietu npm 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ć.
import { CosmosClient } from "@azure/cosmos";
const { DefaultAzureCredential } = require("@azure/identity");
// Uncomment the following lines according to the authentication type.
// 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
});
W przypadku innych języków można użyć adresu URL punktu końcowego i innych właściwości, które usługa Połączenie or ustawia na zmienne środowiskowe w celu nawiązania połączenia z usługą Azure Cosmos DB for NoSQL. Aby uzyskać szczegółowe informacje o zmiennej środowiskowej, zobacz Integrowanie usługi Azure Cosmos DB for NoSQL z usługą Połączenie or.
Następne kroki
Postępuj zgodnie z samouczkami wymienionymi poniżej, aby dowiedzieć się więcej o usłudze Połączenie or.