Łączenie istniejącego konta usługi Azure Cosmos z punktami końcowymi usługi dla sieci wirtualnej przy użyciu interfejsu wiersza polecenia platformy Azure

DOTYCZY: SQL api interfejs API CASSANDRA Gremlin API interfejs API tabel Azure Cosmos DB API dla MongoDB

Wymagania wstępne

  • Ten artykuł wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.9.1 lub nowszej. Jeśli używasz Azure Cloud Shell, najnowsza wersja jest już zainstalowana.

Przykładowy skrypt

Ten przykład ma na celu pokazanie, jak połączyć istniejące konto usługi Azure Cosmos z istniejącą nową siecią wirtualną, w której podsieć nie została jeszcze skonfigurowana dla punktów końcowych usługi przy użyciu ignore-missing-vnet-service-endpoint parametru . Umożliwia to bezbłędne ukończenie konfiguracji konta usługi Cosmos przed ukończeniem konfiguracji podsieci sieci wirtualnej. Po zakończeniu konfiguracji podsieci konto usługi Cosmos będzie dostępne za pośrednictwem skonfigurowanej podsieci.

Uwaga

W tym przykładzie pokazano, jak używać konta interfejsu API SQL (Core). Aby użyć tego przykładu dla innych interfejsów API, zastosuj parametry i w poniższym enable-virtual-network virtual-network-rules skrypcie do skryptu specyficznego dla interfejsu API.

#!/bin/bash
# Reference: az cosmosdb | https://docs.microsoft.com/cli/azure/cosmosdb
# --------------------------------------------------
#
# Service endpoint operations for an Azure Cosmos account
#
# Create an Azure Cosmos Account with a service endpoint connected to a backend subnet
# that is not yet enabled for service endpoints.

# This sample demonstrates how to configure service endpoints for existing Cosmos account where
# the connected subnet is not yet configured for service endpoints.
# This sample will then configure the subnet for service endpoints.

# Resource group and Cosmos account variables
uniqueId=$RANDOM
resourceGroupName="Group-$uniqueId"
location='westus2'
accountName="cosmos-$uniqueId" #needs to be lower case

# Variables for a new Virtual Network with two subnets
vnetName='myVnet'
frontEnd='FrontEnd'
backEnd='BackEnd'

# Create a resource group
az group create -n $resourceGroupName -l $location

# Create a virtual network with a front-end subnet
az network vnet create \
    -n $vnetName \
    -g $resourceGroupName \
    --address-prefix 10.0.0.0/16 \
    --subnet-name $frontEnd \
    --subnet-prefix 10.0.1.0/24

# Create a back-end subnet but without specifying --service-endpoints Microsoft.AzureCosmosDB
az network vnet subnet create \
    -n $backEnd \
    -g $resourceGroupName \
    --address-prefix 10.0.2.0/24 \
    --vnet-name $vnetName

svcEndpoint=$(az network vnet subnet show -g $resourceGroupName -n $backEnd --vnet-name $vnetName --query 'id' -o tsv)

# Create a Cosmos DB account with default values
# Use appropriate values for --kind or --capabilities for other APIs
az cosmosdb create -n $accountName -g $resourceGroupName

# Add the virtual network rule but ignore the missing service endpoint on the subnet
az cosmosdb network-rule add \
    -n $accountName \
    -g $resourceGroupName \
    --virtual-network $vnetName \
    --subnet svcEndpoint \
    --ignore-missing-vnet-service-endpoint true

read -p'Press any key to configure the subnet for service endpoints'

az network vnet subnet update \
    -n $backEnd \
    -g $resourceGroupName \
    --vnet-name $vnetName \
    --service-endpoints Microsoft.AzureCosmosDB

Czyszczenie wdrożenia

Po wykonaniu przykładowego skryptu możesz uruchomić następujące polecenie, aby usunąć grupę zasobów i wszystkie skojarzone z nią zasoby.

az group delete --name $resourceGroupName

Objaśnienia dla skryptu

W tym skrypcie użyto następujących poleceń. Każde polecenie w tabeli stanowi link do dokumentacji polecenia.

Polecenie Uwagi
az group create Tworzy grupę zasobów, w której są przechowywane wszystkie zasoby.
az network vnet create Tworzy sieć wirtualną platformy Azure.
az network vnet subnet create Tworzy podsieć dla sieci wirtualnej platformy Azure.
az network vnet subnet show Zwraca podsieć dla sieci wirtualnej platformy Azure.
az cosmosdb create Tworzy konto usługi Azure Cosmos DB.
az network vnet subnet update Aktualizuje podsieć dla sieci wirtualnej platformy Azure.
az group delete Usuwa grupę zasobów wraz ze wszystkimi zagnieżdżonymi zasobami.

Następne kroki

Aby uzyskać więcej informacji na temat interfejsu wiersza Azure Cosmos DB, zobacz dokumentację interfejsu wiersza Azure Cosmos DB wiersza polecenia.

Wszystkie Azure Cosmos DB skryptów interfejsu wiersza polecenia można znaleźć w repozytorium GitHub interfejsu wiersza Azure Cosmos DB wiersza polecenia.