Připojení existujícího účtu služby Azure Cosmos DB s koncovými body služby virtuální sítě pomocí Azure CLI

PLATÍ PRO: NoSQL MongoDB Cassandra Gremlin Tabulka

Skript v tomto článku ukazuje připojení existujícího účtu služby Azure Cosmos DB k existující nové virtuální síti, kde podsíť ještě není nakonfigurovaná pro koncové body služby pomocí parametru ignore-missing-vnet-service-endpoint . To umožňuje konfiguraci účtu služby Azure Cosmos DB dokončit bez chyby před dokončením konfigurace podsítě virtuální sítě. Po dokončení konfigurace podsítě je účet služby Azure Cosmos DB přístupný prostřednictvím nakonfigurované podsítě.

Tento skript používá rozhraní API pro účet NoSQL. Pokud chcete tuto ukázku použít pro jiná rozhraní API, použijte enable-virtual-network pro konkrétní skript rozhraní API následující parametry a virtual-network-rules parametry.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Předpoklady

  • Tento článek vyžaduje verzi 2.9.1 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

Ukázkový skript

Spuštění služby Azure Cloud Shell

Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít k provedení kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.

Pokud chcete otevřít Cloud Shell, vyberte položku Vyzkoušet v pravém horním rohu bloku kódu. Cloud Shell můžete spustit také na samostatné kartě prohlížeče na adrese https://shell.azure.com.

Po otevření Cloud Shellu ověřte, že je pro vaše prostředí vybraný Bash . Následující relace budou používat Azure CLI v prostředí Bash, výběrem možnosti Kopírovat zkopírujte bloky kódu, vložte ho do Cloud Shellu a stisknutím klávesy Enter ho spusťte.

Přihlášení k Azure

Cloud Shell se automaticky ověřuje pod počátečním přihlášeným účtem. Pomocí následujícího skriptu se přihlaste pomocí jiného předplatného a nahraďte <Subscription ID> ID předplatného Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Další informace najdete v tématu Nastavení aktivního předplatného nebo interaktivního přihlášení.

Spuštění skriptu

# Service endpoint operations for an Azure Cosmos account

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-cosmosdb-rg-$randomIdentifier"
tag="service-endpoints-cosmosdb"
account="msdocs-account-cosmos-$randomIdentifier" #needs to be lower case
vNet='msdocs-vnet-cosmosdb'
frontEnd='msdocs-front-end-cosmosdb'
backEnd='msdocs-back-end-cosmosdb'

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Create a virtual network with a front-end subnet
echo "Creating $vnet"
az network vnet create --name $vNet --resource-group $resourceGroup --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
echo "Creating $backend in $vNet"
az network vnet subnet create --name $backEnd --resource-group $resourceGroup --address-prefix 10.0.2.0/24 --vnet-name $vNet

# Retrieve the value of the service endpoint
svcEndpoint=$(az network vnet subnet show --resource-group $resourceGroup --name $backEnd --vnet-name $vNet --query 'id' -o tsv)

# Create a Cosmos DB account with default values
# Use appropriate values for --kind or --capabilities for other APIs
echo "Creating $account for CosmosDB"
az cosmosdb create --name $account --resource-group $resourceGroup --enable-virtual-network

# Add the virtual network rule but ignore the missing service endpoint on the subnet
az cosmosdb network-rule add --name $account --resource-group $resourceGroup --virtual-network $vNet --subnet $svcEndpoint --ignore-missing-vnet-service-endpoint true

# Update vNet update
az network vnet subnet update --name $backEnd --resource-group $resourceGroup --vnet-name $vNet --service-endpoints Microsoft.AzureCosmosDB

Vyčištění prostředků

Pomocí následujícího příkazu odeberte skupinu prostředků a všechny prostředky přidružené k ní pomocí příkazu az group delete – pokud tyto prostředky nepotřebujete. Vytvoření některých z těchto prostředků a odstranění může chvíli trvat.

az group delete --name $resourceGroup

Ukázkový odkaz

Tento skript používá následující příkazy. Každý příkaz v tabulce odkazuje na příslušnou část dokumentace.

Příkaz Notes
az group create Vytvoří skupinu prostředků, ve které se ukládají všechny prostředky.
az network vnet create Vytvoří virtuální síť Azure.
az network vnet subnet create Vytvoří podsíť pro virtuální síť Azure.
az network vnet subnet show Vrátí podsíť pro virtuální síť Azure.
az cosmosdb create Vytvoří účet služby Azure Cosmos DB.
az network vnet subnet update Aktualizace podsíť pro virtuální síť Azure.
az group delete Odstraní skupinu prostředků včetně všech vnořených prostředků.

Další kroky

Další informace o rozhraní příkazového řádku služby Azure Cosmos DB najdete v dokumentaci k rozhraní příkazového řádku služby Azure Cosmos DB.

Ukázky Azure CLI pro konkrétní rozhraní API najdete tady: