Meglévő Azure Cosmos-fiók csatlakoztatása virtuális hálózati szolgáltatásvégpontokkal az Azure CLI használatával

A következőkre vonatkozik: SQL API CASSANDRA API Gremlin API Table API Azure Cosmos db API a MongoDB

Előfeltételek

  • Használja Azure Cloud Shellbash-környezetet.

    A Cloud Shell indítása új ablakban

  • A CLI-referenciaparancsok futtatásához telepítheti az Azure CLI-t is.

    • Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségek megismeréséhez tekintse meg a Bejelentkezés az Azure CLI használatával című szakaszt.

    • Ha a rendszer kéri, az első használatkor telepítse az Azure CLI-bővítményeket. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.

    • Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.

  • Ehhez a cikkhez az Azure CLI 2.9.1-es vagy újabb verziójára van szükség. Ha a Azure Cloud Shell, a legújabb verzió már telepítve van.

Példaszkript

Ez a minta bemutatja, hogyan csatlakoztathat egy meglévő Azure Cosmos-fiókot egy meglévő új virtuális hálózathoz, ahol az alhálózat még nincs konfigurálva szolgáltatásvégponthoz a paraméter ignore-missing-vnet-service-endpoint használatával. Ez lehetővé teszi a Cosmos-fiók konfigurációjának hiba nélküli befejezését a virtuális hálózat alhálózatának konfigurálása előtt. Az alhálózat konfigurációjának befejezése után a Cosmos-fiók elérhető lesz a konfigurált alhálózaton keresztül.

Megjegyzés

Ez a példa egy SQL (Core) API-fiók használatát mutatja be. Ha ezt a mintát más API-khoz is használnia kell, alkalmazza az alábbi szkriptben található és paramétereket enable-virtual-network virtual-network-rules az API-specifikus szkriptre.

#!/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

Az üzemelő példány eltávolítása

A példaszkript futtatása után a következő paranccsal távolítható el az erőforráscsoport és az összes ahhoz kapcsolódó erőforrás.

az group delete --name $resourceGroupName

Szkript ismertetése

A szkript a következő parancsokat használja. A táblázatban lévő összes parancs a hozzá tartozó dokumentációra hivatkozik.

Parancs Jegyzetek
az group create Létrehoz egy erőforráscsoportot, amely az összes erőforrást tárolja.
az network vnet create Létrehoz egy Azure-beli virtuális hálózatot.
az network vnet subnet create Létrehoz egy alhálózatot egy Azure-beli virtuális hálózathoz.
az network vnet subnet show Egy Azure-beli virtuális hálózat alhálózatát adja vissza.
az cosmosdb create Létrehoz egy Azure Cosmos DB-fiókot.
az network vnet subnet update Frissíti egy Azure-beli virtuális hálózat alhálózatát.
az group delete Töröl egy erőforráscsoportot az összes beágyazott erőforrással együtt.

Következő lépések

Az Azure Cosmos DB CLI-ről további Azure Cosmos DB CLI dokumentációjában talál.

Minden Azure Cosmos DB CLI-szkriptminta megtalálható a Azure Cosmos DB CLI GitHub-adattárában.