In diesem Artikel werden unterstützte Authentifizierungsmethoden und -clients beschrieben und Beispielcode zum Herstellen einer Verbindung mit Azure Cosmos DB für Tabellen mit Clouddiensten mithilfe von Service Connector bereitgestellt. Sie können auch eine Verbindung mit anderen Programmiersprachen ohne Service Connector herstellen. Der Artikel enthält die Namen und Werte der Standardumgebungsvariablen, die Sie beim Erstellen einer Dienstverbindung erhalten.
Unterstützte Rechendienste
Mit Service Connector können Sie die folgenden Computedienste mit Azure Cosmos DB for Table verbinden:
- Azure App Service
- 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 Table 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 |
Geheimer Schlüssel / Verbindungszeichenfolge |
Service Principal |
| .NET |
Ja |
Ja |
Ja |
Ja |
| Java |
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 Table herzustellen.
Note
Cosmos DB unterstützt die Authentifizierung nicht nativ über verwaltete Identität. Daher verwendet Service Connector die verwaltete Identität, um die Verbindungszeichenfolge abzurufen, und die Verbindung wird anschließend mithilfe dieses Verbindungszeichenfolge hergestellt.
Namen von Standard-Umgebungsvariablen oder Anwendungseigenschaften und Beispielcode
Entnehmen Sie den nachstehenden Verbindungsdetails, wie Sie Ihre Computedienste mit Azure Cosmos DB for Table verbinden. Ersetzen Sie Platzhaltertext wie <account-name>, <table-name> und <account-key> durch Ihre tatsächlichen Werte. Benennungskonventionen finden Sie unter Service Connector Internals.
Systemseitig zugewiesene verwaltete Identität
| Standardname der Umgebungsvariablen |
Beschreibung |
Beispielswert |
| AZURE_COSMOS_LISTCONNECTIONSTRINGURL |
Die URL zum Abrufen der Verbindungszeichenfolge |
https://management.azure.com/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<table-name>/listConnectionStrings?api-version=2021-04-15 |
| AZURE_COSMOS_SCOPE |
Ihr verwalteter Identitätsumfang |
https://management.azure.com/.default |
| AZURE_COSMOS_RESOURCEENDPOINT |
Ihr Ressourcen-Endpunkt |
https://<table-name>.documents.azure.com:443/ |
Beispielcode
So stellen Sie eine Verbindung mit einer vom System zugewiesenen verwalteten Identität her:
- Installieren Sie Abhängigkeiten.
dotnet add package Azure.Data.Tables
dotnet add package Azure.Identity
- Rufen Sie mithilfe von Azure.Identity ein Zugriffstoken für die verwaltete Identität oder den Dienstprinzipal ab. Verwenden Sie das Zugriffstoken und
AZURE_COSMOS_LISTCONNECTIONSTRINGURL, um die Verbindungszeichenfolge abzurufen und eine Verbindung mit Azure Cosmos DB for Table herzustellen. Entfernen Sie im folgenden Code die Kommentierung des Abschnitts für Ihren Authentifizierungstyp: using System;
using System.Security.Authentication;
using System.Net.Security;
using System.Net.Http;
using System.Security.Authentication;
using System.Threading.Tasks;
using Azure.Data.Tables;
using Azure.Identity;
var endpoint = Environment.GetEnvironmentVariable("AZURE_COSMOS_RESOURCEENDPOINT");
var listConnectionStringUrl = Environment.GetEnvironmentVariable("AZURE_COSMOS_LISTCONNECTIONSTRINGURL");
var scope = Environment.GetEnvironmentVariable("AZURE_COSMOS_SCOPE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// var tokenProvider = new DefaultAzureCredential();
// For user-assigned identity.
// var tokenProvider = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID");
// }
// );
// For service principal.
// var tenantId = Environment.GetEnvironmentVariable("AZURE_COSMOS_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTSECRET");
// var tokenProvider = new ClientSecretCredential(tenantId, clientId, clientSecret);
// Acquire the access token.
AccessToken accessToken = await tokenProvider.GetTokenAsync(
new TokenRequestContext(scopes: new string[]{ scope }));
// Get the connection string.
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {accessToken.Token}");
var response = await httpClient.POSTAsync(listConnectionStringUrl);
var responseBody = await response.Content.ReadAsStringAsync();
var connectionStrings = JsonConvert.DeserializeObject<Dictionary<string, List<Dictionary<string, string>>>(responseBody);
var connectionString = connectionStrings["connectionStrings"].Find(connStr => connStr["description"] == "Primary Table Connection String")["connectionString"];
// Connect to Azure Cosmos DB for Table
TableServiceClient tableServiceClient = new TableServiceClient(connectionString);
- Fügen Sie der Datei pom.xml die folgenden Abhängigkeiten hinzu:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-data-tables</artifactId>
<version>12.2.1</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.1.5</version>
</dependency>
- Rufen Sie ein Zugriffstoken für die verwaltete Identität oder den Dienstprinzipal mithilfe von
azure-identity ab. Verwenden Sie das Zugriffstoken und AZURE_COSMOS_LISTCONNECTIONSTRINGURL, um die Verbindungszeichenfolge abzurufen und eine Verbindung mit Azure Cosmos DB for Table herzustellen. Entfernen Sie im untenstehenden Code die Auskommentierung des Abschnitts für Ihren Authentifizierungstyp: import com.azure.data.tables.TableClient;
import com.azure.data.tables.TableClientBuilder;
import javax.net.ssl.*;
import java.net.InetSocketAddress;
import com.azure.identity.*;
import com.azure.core.credential.*;
import java.net.http.*;
String endpoint = System.getenv("AZURE_COSMOS_RESOURCEENDPOINT");
String listConnectionStringUrl = System.getenv("AZURE_COSMOS_LISTCONNECTIONSTRINGURL");
String scope = System.getenv("AZURE_COSMOS_SCOPE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system managed identity.
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
// For user assigned managed identity.
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_COSMOS_CLIENTID"))
// .build();
// For service principal.
// ClientSecretCredential defaultCredential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_COSMOS_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_COSMOS_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_COSMOS_TENANTID>"))
// .build();
// Get the access token.
AccessToken accessToken = defaultCredential.getToken(new TokenRequestContext().addScopes(new String[]{ scope })).block();
String token = accessToken.getToken();
// Get the connection string.
HttpClient client = HttpClient.newBuilder().build();
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI(listConnectionStringUrl))
.header("Authorization", "Bearer " + token)
.POST()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
JSONParser parser = new JSONParser();
JSONObject responseBody = parser.parse(response.body());
List<Map<String, String>> connectionStrings = responseBody.get("connectionStrings");
String connectionString;
for (Map<String, String> connStr : connectionStrings){
if (connStr.get("description") == "Primary Table Connection String"){
connectionString = connStr.get("connectionString");
break;
}
}
// Connect to Azure Cosmos DB for Table
TableClient tableClient = new TableClientBuilder()
.connectionString(connectionString)
.buildClient();
- Installieren Sie Abhängigkeiten.
pip install azure-data-tables
pip install azure-identity
- Rufen Sie ein Zugriffstoken für die verwaltete Identität oder den Dienstprinzipal mithilfe von
azure-identity ab. Verwenden Sie das Zugriffstoken und AZURE_COSMOS_LISTCONNECTIONSTRINGURL, um die Verbindungszeichenfolge abzurufen und eine Verbindung mit Azure Cosmos DB for Table herzustellen. Entfernen Sie im folgenden Code die Auskommentierung des Abschnitts für Ihren Authentifizierungstyp: import os
from azure.data.tables import TableServiceClient
import requests
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
endpoint = os.getenv('AZURE_COSMOS_RESOURCEENDPOINT')
listConnectionStringUrl = os.getenv('AZURE_COSMOS_LISTCONNECTIONSTRINGURL')
scope = os.getenv('AZURE_COSMOS_SCOPE')
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity
# cred = ManagedIdentityCredential()
# For user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_COSMOS_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# For 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)
# Get the connection string
session = requests.Session()
token = cred.get_token(scope)
response = session.post(listConnectionStringUrl, headers={"Authorization": "Bearer {}".format(token.token)})
keys_dict = response.json()
conn_str = x["connectionString"] for x in keys_dict["connectionStrings"] if x["description"] == "Primary Table Connection String"
# Connect to Azure Cosmos DB for Table
table_service = TableServiceClient.from_connection_string(conn_str)
- Installieren Sie Abhängigkeiten.
go get github.com/Azure/azure-sdk-for-go/sdk/data/aztables
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
- Rufen Sie im Code mithilfe von
azidentity ein Zugriffstoken ab, und verwenden Sie es dann, um die Verbindungszeichenfolge abzurufen. Rufen Sie Verbindungsinformationen von Umgebungsvariablen ab, die von Service Connector hinzugefügt wurden, und stellen Sie eine Verbindung mit Azure Cosmos DB für Tabelle her. Entkommentieren Sie im folgenden Code den Abschnitt für Ihren Authentifizierungstyp: import (
"fmt"
"os"
"context"
"log"
"io/ioutil"
"encoding/json"
"github.com/Azure/azure-sdk-for-go/sdk/data/aztables"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
func main() {
endpoint = os.Getenv("AZURE_COSMOS_RESOURCEENDPOINT")
listConnectionStringUrl = os.Getenv("AZURE_COSMOS_LISTCONNECTIONSTRINGURL")
scope = os.Getenv("AZURE_COSMOS_SCOPE")
// 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{})
// Acquire the access token.
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
token, err := cred.GetToken(ctx, policy.TokenRequestOptions{
Scopes: []string{scope},
})
// Acquire the connection string.
client := &http.Client{}
req, err := http.NewRequest("POST", listConnectionStringUrl, nil)
req.Header.Add("Authorization", "Bearer " + token.Token)
resp, err := client.Do(req)
body, err := ioutil.ReadAll(resp.Body)
var result map[string]interface{}
json.Unmarshal(body, &result)
connStr := ""
for i := range result["connectionStrings"]{
if result["connectionStrings"][i]["description"] == "Primary Table Connection String" {
connStr, err := result["connectionStrings"][i]["connectionString"]
break
}
}
serviceClient, err := aztables.NewServiceClientFromConnectionString(connStr, nil)
if err != nil {
panic(err)
}
}
- Installieren Sie Abhängigkeiten.
npm install @azure/data-tables
npm install --save @azure/identity
- Rufen Sie im Code das Zugriffstoken mit
@azure/identity ab und verwenden Sie es dann, um die Verbindungszeichenfolge abzurufen. Rufen Sie Verbindungsinformationen von Umgebungsvariablen ab, die von Service Connector hinzugefügt wurden, und stellen Sie eine Verbindung mit Azure Cosmos DB für Tabelle her. Entfernen Sie im folgenden Code die Auskommentierung des Abschnitts für Ihren Authentifizierungstyp: import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { TableClient } = require("@azure/data-tables");
const axios = require('axios');
let endpoint = process.env.AZURE_COSMOS_RESOURCEENDPOINT;
let listConnectionStringUrl = process.env.AZURE_COSMOS_LISTCONNECTIONSTRINGURL;
let scope = process.env.AZURE_COSMOS_SCOPE;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// const credential = new DefaultAzureCredential();
// For user-assigned identity.
// const clientId = process.env.AZURE_COSMOS_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// For service principal.
// const tenantId = process.env.AZURE_COSMOS_TENANTID;
// const clientId = process.env.AZURE_COSMOS_CLIENTID;
// const clientSecret = process.env.AZURE_COSMOS_CLIENTSECRET;
// Acquire the access token.
var accessToken = await credential.getToken(scope);
// Get the connection string.
const config = {
method: 'post',
url: listConnectionStringUrl,
headers: {
'Authorization': `Bearer ${accessToken.token}`
}
};
const response = await axios(config);
const keysDict = response.data;
const connectionString = keysDict["connectionStrings"].find(connStr => connStr["description"] == "Primary Table Connection String")["connectionString"];
// Connect to Azure Cosmos DB for Table
const serviceClient = TableClient.fromConnectionString(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 Table herzustellen. Weitere Informationen zu Umgebungsvariablen finden Sie unter Integrieren von Azure Cosmos DB for Table mit Service Connector.
Benutzerseitig zugewiesene verwaltete Identität
| Standardname der Umgebungsvariablen |
Beschreibung |
Beispielswert |
| AZURE_COSMOS_LISTCONNECTIONSTRINGURL |
Die URL zum Abrufen der Verbindungszeichenfolge |
https://management.azure.com/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<table-name>/listConnectionStrings?api-version=2021-04-15 |
| AZURE_COSMOS_SCOPE |
Ihr verwalteter Identitätsumfang |
https://management.azure.com/.default |
| AZURE_COSMOS_CLIENTID |
Die ID Ihres geheimen Clientschlüssels |
<client-ID> |
| AZURE_COSMOS_RESOURCEENDPOINT |
Ihr Ressourcen-Endpunkt |
https://<table-name>.documents.azure.com:443/ |
Beispielcode
Um eine Verbindung mit einer vom Benutzer zugewiesenen verwalteten Identität herzustellen, verwendet der folgende Code die verwaltete Identität, um die Verbindungszeichenfolge abzurufen, und richtet dann die Verbindung ein:
- Installieren Sie Abhängigkeiten.
dotnet add package Azure.Data.Tables
dotnet add package Azure.Identity
- Rufen Sie mit Azure.Identity ein Zugriffstoken für die verwaltete Identität oder den Dienstprinzipal ab. Verwenden Sie das Zugriffstoken und
AZURE_COSMOS_LISTCONNECTIONSTRINGURL, um die Verbindungszeichenfolge abzurufen und eine Verbindung mit Azure Cosmos DB für Table herzustellen. Entfernen Sie im folgenden Code die Kommentarzeichen im Abschnitt für Ihren Authentifizierungstyp: using System;
using System.Security.Authentication;
using System.Net.Security;
using System.Net.Http;
using System.Security.Authentication;
using System.Threading.Tasks;
using Azure.Data.Tables;
using Azure.Identity;
var endpoint = Environment.GetEnvironmentVariable("AZURE_COSMOS_RESOURCEENDPOINT");
var listConnectionStringUrl = Environment.GetEnvironmentVariable("AZURE_COSMOS_LISTCONNECTIONSTRINGURL");
var scope = Environment.GetEnvironmentVariable("AZURE_COSMOS_SCOPE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// var tokenProvider = new DefaultAzureCredential();
// For user-assigned identity.
// var tokenProvider = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID");
// }
// );
// For service principal.
// var tenantId = Environment.GetEnvironmentVariable("AZURE_COSMOS_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTSECRET");
// var tokenProvider = new ClientSecretCredential(tenantId, clientId, clientSecret);
// Acquire the access token.
AccessToken accessToken = await tokenProvider.GetTokenAsync(
new TokenRequestContext(scopes: new string[]{ scope }));
// Get the connection string.
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {accessToken.Token}");
var response = await httpClient.POSTAsync(listConnectionStringUrl);
var responseBody = await response.Content.ReadAsStringAsync();
var connectionStrings = JsonConvert.DeserializeObject<Dictionary<string, List<Dictionary<string, string>>>(responseBody);
var connectionString = connectionStrings["connectionStrings"].Find(connStr => connStr["description"] == "Primary Table Connection String")["connectionString"];
// Connect to Azure Cosmos DB for Table
TableServiceClient tableServiceClient = new TableServiceClient(connectionString);
- Fügen Sie der Datei pom.xml die folgenden Abhängigkeiten hinzu:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-data-tables</artifactId>
<version>12.2.1</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.1.5</version>
</dependency>
- Rufen Sie ein Zugriffstoken für die verwaltete Identität oder den Dienstprinzipal mithilfe von
azure-identity ab. Verwenden Sie das Zugriffstoken und AZURE_COSMOS_LISTCONNECTIONSTRINGURL, um die Verbindungszeichenfolge abzurufen und eine Verbindung mit Azure Cosmos DB für Tabelle herzustellen. Entfernen Sie im folgenden Code die Auskommentierung des Abschnitts für Ihren Authentifizierungstyp: import com.azure.data.tables.TableClient;
import com.azure.data.tables.TableClientBuilder;
import javax.net.ssl.*;
import java.net.InetSocketAddress;
import com.azure.identity.*;
import com.azure.core.credential.*;
import java.net.http.*;
String endpoint = System.getenv("AZURE_COSMOS_RESOURCEENDPOINT");
String listConnectionStringUrl = System.getenv("AZURE_COSMOS_LISTCONNECTIONSTRINGURL");
String scope = System.getenv("AZURE_COSMOS_SCOPE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system managed identity.
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
// For user assigned managed identity.
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_COSMOS_CLIENTID"))
// .build();
// For service principal.
// ClientSecretCredential defaultCredential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_COSMOS_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_COSMOS_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_COSMOS_TENANTID>"))
// .build();
// Get the access token.
AccessToken accessToken = defaultCredential.getToken(new TokenRequestContext().addScopes(new String[]{ scope })).block();
String token = accessToken.getToken();
// Get the connection string.
HttpClient client = HttpClient.newBuilder().build();
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI(listConnectionStringUrl))
.header("Authorization", "Bearer " + token)
.POST()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
JSONParser parser = new JSONParser();
JSONObject responseBody = parser.parse(response.body());
List<Map<String, String>> connectionStrings = responseBody.get("connectionStrings");
String connectionString;
for (Map<String, String> connStr : connectionStrings){
if (connStr.get("description") == "Primary Table Connection String"){
connectionString = connStr.get("connectionString");
break;
}
}
// Connect to Azure Cosmos DB for Table
TableClient tableClient = new TableClientBuilder()
.connectionString(connectionString)
.buildClient();
- Installieren Sie Abhängigkeiten.
pip install azure-data-tables
pip install azure-identity
- Rufen Sie ein Zugriffstoken für die verwaltete Identität oder den Dienstprinzipal mithilfe von
azure-identity ab. Verwenden Sie das Zugriffstoken und AZURE_COSMOS_LISTCONNECTIONSTRINGURL, um die Verbindungszeichenfolge abzurufen und eine Verbindung mit Azure Cosmos DB for Table herzustellen. Entfernen Sie im folgenden Code die Kommentierung des Abschnitts für Ihren Authentifizierungstyp: import os
from azure.data.tables import TableServiceClient
import requests
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
endpoint = os.getenv('AZURE_COSMOS_RESOURCEENDPOINT')
listConnectionStringUrl = os.getenv('AZURE_COSMOS_LISTCONNECTIONSTRINGURL')
scope = os.getenv('AZURE_COSMOS_SCOPE')
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity
# cred = ManagedIdentityCredential()
# For user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_COSMOS_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# For 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)
# Get the connection string
session = requests.Session()
token = cred.get_token(scope)
response = session.post(listConnectionStringUrl, headers={"Authorization": "Bearer {}".format(token.token)})
keys_dict = response.json()
conn_str = x["connectionString"] for x in keys_dict["connectionStrings"] if x["description"] == "Primary Table Connection String"
# Connect to Azure Cosmos DB for Table
table_service = TableServiceClient.from_connection_string(conn_str)
- Installieren Sie Abhängigkeiten.
go get github.com/Azure/azure-sdk-for-go/sdk/data/aztables
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
- Rufen Sie im Code mithilfe von
azidentity ein Zugriffstoken ab, und verwenden Sie es dann, um die Verbindungszeichenfolge abzurufen. Rufen Sie Verbindungsinformationen von Umgebungsvariablen ab, die von Service Connector hinzugefügt wurden, und stellen Sie eine Verbindung mit Azure Cosmos DB für Tabelle her. Entfernen Sie im folgenden Code die Kommentierung des Abschnitts für Ihren Authentifizierungstyp: import (
"fmt"
"os"
"context"
"log"
"io/ioutil"
"encoding/json"
"github.com/Azure/azure-sdk-for-go/sdk/data/aztables"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
func main() {
endpoint = os.Getenv("AZURE_COSMOS_RESOURCEENDPOINT")
listConnectionStringUrl = os.Getenv("AZURE_COSMOS_LISTCONNECTIONSTRINGURL")
scope = os.Getenv("AZURE_COSMOS_SCOPE")
// 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{})
// Acquire the access token.
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
token, err := cred.GetToken(ctx, policy.TokenRequestOptions{
Scopes: []string{scope},
})
// Acquire the connection string.
client := &http.Client{}
req, err := http.NewRequest("POST", listConnectionStringUrl, nil)
req.Header.Add("Authorization", "Bearer " + token.Token)
resp, err := client.Do(req)
body, err := ioutil.ReadAll(resp.Body)
var result map[string]interface{}
json.Unmarshal(body, &result)
connStr := ""
for i := range result["connectionStrings"]{
if result["connectionStrings"][i]["description"] == "Primary Table Connection String" {
connStr, err := result["connectionStrings"][i]["connectionString"]
break
}
}
serviceClient, err := aztables.NewServiceClientFromConnectionString(connStr, nil)
if err != nil {
panic(err)
}
}
- Installieren Sie Abhängigkeiten.
npm install @azure/data-tables
npm install --save @azure/identity
- Rufen Sie im Code das Zugriffstoken mit
@azure/identity ab, und verwenden Sie es dann, um die Verbindungszeichenfolge abzurufen. Rufen Sie Verbindungsinformationen von Umgebungsvariablen ab, die von Service Connector hinzugefügt wurden, und stellen Sie eine Verbindung mit Azure Cosmos DB für Tabelle her. Entfernen Sie im folgenden Code die Auskommentierung des Abschnitts für Ihren Authentifizierungstyp: import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { TableClient } = require("@azure/data-tables");
const axios = require('axios');
let endpoint = process.env.AZURE_COSMOS_RESOURCEENDPOINT;
let listConnectionStringUrl = process.env.AZURE_COSMOS_LISTCONNECTIONSTRINGURL;
let scope = process.env.AZURE_COSMOS_SCOPE;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// const credential = new DefaultAzureCredential();
// For user-assigned identity.
// const clientId = process.env.AZURE_COSMOS_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// For service principal.
// const tenantId = process.env.AZURE_COSMOS_TENANTID;
// const clientId = process.env.AZURE_COSMOS_CLIENTID;
// const clientSecret = process.env.AZURE_COSMOS_CLIENTSECRET;
// Acquire the access token.
var accessToken = await credential.getToken(scope);
// Get the connection string.
const config = {
method: 'post',
url: listConnectionStringUrl,
headers: {
'Authorization': `Bearer ${accessToken.token}`
}
};
const response = await axios(config);
const keysDict = response.data;
const connectionString = keysDict["connectionStrings"].find(connStr => connStr["description"] == "Primary Table Connection String")["connectionString"];
// Connect to Azure Cosmos DB for Table
const serviceClient = TableClient.fromConnectionString(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 Table herzustellen. Weitere Informationen zu Umgebungsvariablen finden Sie unter Integrieren von Azure Cosmos DB for Table mit Service Connector.
Verbindungszeichenfolge
| Standardname der Umgebungsvariablen |
Beschreibung |
Beispielswert |
| AZURE_COSMOS_CONNECTIONSTRING |
Azure Cosmos DB for Table-Verbindungszeichenfolge |
DefaultEndpointsProtocol=https;AccountName=<account-name>;AccountKey=<account-key>;TableEndpoint=https://<table-name>.table.cosmos.azure.com:443/; |
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.
Beispielcode
So stellen Sie eine Verbindung mit einem Verbindungszeichenfolge her:
Installieren Sie die Abhängigkeit.
dotnet add package Azure.Data.Tables
Rufen Sie die Verbindungszeichenfolge aus der Umgebungsvariablen ab, die von Service Connector hinzugefügt wurde.
using Azure.Data.Tables;
using System;
TableServiceClient tableServiceClient = new TableServiceClient(Environment.GetEnvironmentVariable("AZURE_COSMOS_CONNECTIONSTRING"));
Fügen Sie der Datei pom.xml die folgende Abhängigkeit hinzu:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-data-tables</artifactId>
<version>12.2.1</version>
</dependency>
Rufen Sie die Verbindungszeichenfolge aus der Umgebungsvariablen ab, die von Service Connector hinzugefügt wurde.
import com.azure.data.tables.TableClient;
import com.azure.data.tables.TableClientBuilder;
String connectionStr = System.getenv("AZURE_COSMOS_CONNECTIONSTRING");
TableClient tableClient = new TableClientBuilder()
.connectionString(connectionStr)
.buildClient();
Installieren Sie die Abhängigkeit.
pip install azure-data-tables
Rufen Sie die Verbindungszeichenfolge aus der Umgebungsvariablen ab, die von Service Connector hinzugefügt wurde.
import os
from azure.data.tables import TableServiceClient
conn_str = os.environ["AZURE_COSMOS_CONNECTIONSTRING"]
table_service = TableServiceClient.from_connection_string(conn_str)
- Installieren Sie die Abhängigkeit.
go get github.com/Azure/azure-sdk-for-go/sdk/data/aztables
- Rufen Sie die Verbindungszeichenfolge aus der Umgebungsvariablen ab, die von Service Connector hinzugefügt wurde.
import (
"github.com/Azure/azure-sdk-for-go/sdk/data/aztables"
)
func main() {
connStr := os.Getenv("AZURE_COSMOS_CONNECTIONSTRING")
serviceClient, err := aztables.NewServiceClientFromConnectionString(connStr, nil)
if err != nil {
panic(err)
}
}
Installieren Sie die Abhängigkeit.
npm install @azure/data-tables
Rufen Sie die Verbindungszeichenfolge aus der Umgebungsvariablen ab, die von Service Connector hinzugefügt wurde.
const { TableClient } = require("@azure/data-tables");
const serviceClient = TableClient.fromConnectionString(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 Table herzustellen. Weitere Informationen zu Umgebungsvariablen finden Sie unter Integrieren von Azure Cosmos DB for Table mit Service Connector.
Service Principal
| Standardname der Umgebungsvariablen |
Beschreibung |
Beispielswert |
| AZURE_COSMOS_LISTCONNECTIONSTRINGURL |
Die URL zum Abrufen der Verbindungszeichenfolge |
https://management.azure.com/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<table-name>/listConnectionStrings?api-version=2021-04-15 |
| AZURE_COSMOS_SCOPE |
Ihr verwalteter Identitätsumfang |
https://management.azure.com/.default |
| AZURE_COSMOS_CLIENTID |
Die ID Ihres geheimen Clientschlüssels |
<client-ID> |
| AZURE_COSMOS_CLIENTSECRET |
Ihr Clientgeheimnis |
<client-secret> |
| AZURE_COSMOS_TENANTID |
Ihre Mandanten-ID |
<tenant-ID> |
| AZURE_COSMOS_RESOURCEENDPOINT |
Ihr Ressourcen-Endpunkt |
https://<table-name>.documents.azure.com:443/ |
Beispielcode
So stellen Sie eine Verbindung mit einem Dienstprinzipal her:
- Installieren Sie Abhängigkeiten.
dotnet add package Azure.Data.Tables
dotnet add package Azure.Identity
- Rufen Sie mit Azure.Identity ein Zugriffstoken für die verwaltete Identität oder den Dienstprinzipal ab. Verwenden Sie das Zugriffstoken und
AZURE_COSMOS_LISTCONNECTIONSTRINGURL, um die Verbindungszeichenfolge abzurufen und eine Verbindung mit Azure Cosmos DB für Table herzustellen. Entfernen Sie im folgenden Code die Auskommentierung des Abschnitts für Ihren Authentifizierungstyp: using System;
using System.Security.Authentication;
using System.Net.Security;
using System.Net.Http;
using System.Security.Authentication;
using System.Threading.Tasks;
using Azure.Data.Tables;
using Azure.Identity;
var endpoint = Environment.GetEnvironmentVariable("AZURE_COSMOS_RESOURCEENDPOINT");
var listConnectionStringUrl = Environment.GetEnvironmentVariable("AZURE_COSMOS_LISTCONNECTIONSTRINGURL");
var scope = Environment.GetEnvironmentVariable("AZURE_COSMOS_SCOPE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// var tokenProvider = new DefaultAzureCredential();
// For user-assigned identity.
// var tokenProvider = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID");
// }
// );
// For service principal.
// var tenantId = Environment.GetEnvironmentVariable("AZURE_COSMOS_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_COSMOS_CLIENTSECRET");
// var tokenProvider = new ClientSecretCredential(tenantId, clientId, clientSecret);
// Acquire the access token.
AccessToken accessToken = await tokenProvider.GetTokenAsync(
new TokenRequestContext(scopes: new string[]{ scope }));
// Get the connection string.
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {accessToken.Token}");
var response = await httpClient.POSTAsync(listConnectionStringUrl);
var responseBody = await response.Content.ReadAsStringAsync();
var connectionStrings = JsonConvert.DeserializeObject<Dictionary<string, List<Dictionary<string, string>>>(responseBody);
var connectionString = connectionStrings["connectionStrings"].Find(connStr => connStr["description"] == "Primary Table Connection String")["connectionString"];
// Connect to Azure Cosmos DB for Table
TableServiceClient tableServiceClient = new TableServiceClient(connectionString);
- Fügen Sie der Datei pom.xml die folgenden Abhängigkeiten hinzu:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-data-tables</artifactId>
<version>12.2.1</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.1.5</version>
</dependency>
- Rufen Sie ein Zugriffstoken für die verwaltete Identität oder den Dienstprinzipal mithilfe von
azure-identity ab. Verwenden Sie das Zugriffstoken und AZURE_COSMOS_LISTCONNECTIONSTRINGURL, um die Verbindungszeichenfolge abzurufen und eine Verbindung mit Azure Cosmos DB for Table herzustellen. Entfernen Sie im Code unten die Auskommentierung des Abschnitts für Ihren Authentifizierungstyp: import com.azure.data.tables.TableClient;
import com.azure.data.tables.TableClientBuilder;
import javax.net.ssl.*;
import java.net.InetSocketAddress;
import com.azure.identity.*;
import com.azure.core.credential.*;
import java.net.http.*;
String endpoint = System.getenv("AZURE_COSMOS_RESOURCEENDPOINT");
String listConnectionStringUrl = System.getenv("AZURE_COSMOS_LISTCONNECTIONSTRINGURL");
String scope = System.getenv("AZURE_COSMOS_SCOPE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system managed identity.
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
// For user assigned managed identity.
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_COSMOS_CLIENTID"))
// .build();
// For service principal.
// ClientSecretCredential defaultCredential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_COSMOS_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_COSMOS_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_COSMOS_TENANTID>"))
// .build();
// Get the access token.
AccessToken accessToken = defaultCredential.getToken(new TokenRequestContext().addScopes(new String[]{ scope })).block();
String token = accessToken.getToken();
// Get the connection string.
HttpClient client = HttpClient.newBuilder().build();
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI(listConnectionStringUrl))
.header("Authorization", "Bearer " + token)
.POST()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
JSONParser parser = new JSONParser();
JSONObject responseBody = parser.parse(response.body());
List<Map<String, String>> connectionStrings = responseBody.get("connectionStrings");
String connectionString;
for (Map<String, String> connStr : connectionStrings){
if (connStr.get("description") == "Primary Table Connection String"){
connectionString = connStr.get("connectionString");
break;
}
}
// Connect to Azure Cosmos DB for Table
TableClient tableClient = new TableClientBuilder()
.connectionString(connectionString)
.buildClient();
- Installieren Sie Abhängigkeiten.
pip install azure-data-tables
pip install azure-identity
- Rufen Sie ein Zugriffstoken für die verwaltete Identität oder den Dienstprinzipal mithilfe von
azure-identity ab. Verwenden Sie das Zugriffstoken und AZURE_COSMOS_LISTCONNECTIONSTRINGURL, um die Verbindungszeichenfolge abzurufen und eine Verbindung mit Azure Cosmos DB for Table herzustellen. Entfernen Sie im Code unten die Auskommentierung des Abschnitts für Ihren Authentifizierungstyp: import os
from azure.data.tables import TableServiceClient
import requests
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
endpoint = os.getenv('AZURE_COSMOS_RESOURCEENDPOINT')
listConnectionStringUrl = os.getenv('AZURE_COSMOS_LISTCONNECTIONSTRINGURL')
scope = os.getenv('AZURE_COSMOS_SCOPE')
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity
# cred = ManagedIdentityCredential()
# For user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_COSMOS_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# For 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)
# Get the connection string
session = requests.Session()
token = cred.get_token(scope)
response = session.post(listConnectionStringUrl, headers={"Authorization": "Bearer {}".format(token.token)})
keys_dict = response.json()
conn_str = x["connectionString"] for x in keys_dict["connectionStrings"] if x["description"] == "Primary Table Connection String"
# Connect to Azure Cosmos DB for Table
table_service = TableServiceClient.from_connection_string(conn_str)
- Installieren Sie Abhängigkeiten.
go get github.com/Azure/azure-sdk-for-go/sdk/data/aztables
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
- Rufen Sie im Code mithilfe von
azidentity ein Zugriffstoken ab, und verwenden Sie dieses dann, um die Verbindungszeichenfolge abzurufen. Rufen Sie Verbindungsinformationen von Umgebungsvariablen ab, die von Service Connector hinzugefügt wurden, und stellen Sie eine Verbindung mit Azure Cosmos DB für Tabelle her. Entfernen Sie im folgenden Code die Auskommentierung des Abschnitts für Ihren Authentifizierungstyp: import (
"fmt"
"os"
"context"
"log"
"io/ioutil"
"encoding/json"
"github.com/Azure/azure-sdk-for-go/sdk/data/aztables"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
func main() {
endpoint = os.Getenv("AZURE_COSMOS_RESOURCEENDPOINT")
listConnectionStringUrl = os.Getenv("AZURE_COSMOS_LISTCONNECTIONSTRINGURL")
scope = os.Getenv("AZURE_COSMOS_SCOPE")
// 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{})
// Acquire the access token.
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
token, err := cred.GetToken(ctx, policy.TokenRequestOptions{
Scopes: []string{scope},
})
// Acquire the connection string.
client := &http.Client{}
req, err := http.NewRequest("POST", listConnectionStringUrl, nil)
req.Header.Add("Authorization", "Bearer " + token.Token)
resp, err := client.Do(req)
body, err := ioutil.ReadAll(resp.Body)
var result map[string]interface{}
json.Unmarshal(body, &result)
connStr := ""
for i := range result["connectionStrings"]{
if result["connectionStrings"][i]["description"] == "Primary Table Connection String" {
connStr, err := result["connectionStrings"][i]["connectionString"]
break
}
}
serviceClient, err := aztables.NewServiceClientFromConnectionString(connStr, nil)
if err != nil {
panic(err)
}
}
- Installieren Sie Abhängigkeiten.
npm install @azure/data-tables
npm install --save @azure/identity
- Rufen Sie im Code das Zugriffstoken mit
@azure/identity ab, und verwenden Sie es dann, um die Verbindungszeichenfolge abzurufen. Rufen Sie Verbindungsinformationen von Umgebungsvariablen ab, die von Service Connector hinzugefügt wurden, und stellen Sie eine Verbindung mit Azure Cosmos DB für Tabelle her. Entfernen Sie im folgenden Code die Auskommentierung des Abschnitts für Ihren Authentifizierungstyp: import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { TableClient } = require("@azure/data-tables");
const axios = require('axios');
let endpoint = process.env.AZURE_COSMOS_RESOURCEENDPOINT;
let listConnectionStringUrl = process.env.AZURE_COSMOS_LISTCONNECTIONSTRINGURL;
let scope = process.env.AZURE_COSMOS_SCOPE;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// const credential = new DefaultAzureCredential();
// For user-assigned identity.
// const clientId = process.env.AZURE_COSMOS_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// For service principal.
// const tenantId = process.env.AZURE_COSMOS_TENANTID;
// const clientId = process.env.AZURE_COSMOS_CLIENTID;
// const clientSecret = process.env.AZURE_COSMOS_CLIENTSECRET;
// Acquire the access token.
var accessToken = await credential.getToken(scope);
// Get the connection string.
const config = {
method: 'post',
url: listConnectionStringUrl,
headers: {
'Authorization': `Bearer ${accessToken.token}`
}
};
const response = await axios(config);
const keysDict = response.data;
const connectionString = keysDict["connectionStrings"].find(connStr => connStr["description"] == "Primary Table Connection String")["connectionString"];
// Connect to Azure Cosmos DB for Table
const serviceClient = TableClient.fromConnectionString(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 Table herzustellen. Weitere Informationen zu Umgebungsvariablen finden Sie unter Integrieren von Azure Cosmos DB for Table mit Service Connector.
Nächste Schritte
Befolgen Sie die unten aufgeführten Tutorials, um mehr über Service Connector zu erfahren.