Ansluta ett befintligt Azure Cosmos-konto med tjänstslutpunkter för virtuellt nätverk med hjälp av Azure CLIConnect an existing Azure Cosmos account with virtual network service endpoints using Azure CLI

GÄLLER för: SQL API API för Cassandra Gremlin API tabell-API Azure Cosmos DB API för MongoDB

FörutsättningarPrerequisites

  • Använd bash-miljön i Azure Cloud Shell.Use the Bash environment in Azure Cloud Shell.

    Starta Cloud Shell i ett nytt fönsterLaunch Cloud Shell in a new window

  • Om du vill kan du i stället installera Azure CLI för att köra CLI-referenskommandon.If you prefer, install the Azure CLI to run CLI reference commands.

    • Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login.If you're using a local installation, sign in to the Azure CLI by using the az login command. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen.To finish the authentication process, follow the steps displayed in your terminal. Fler inloggningsalternativ finns i Logga in med Azure CLI.For additional sign-in options, see Sign in with the Azure CLI.

    • När du uppmanas till det installerar du Azure CLI-tillägg vid första användning.When you're prompted, install Azure CLI extensions on first use. Mer information om tillägg finns i Använda tillägg med Azure CLI.For more information about extensions, see Use extensions with the Azure CLI.

    • Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade.Run az version to find the version and dependent libraries that are installed. Om du vill uppgradera till den senaste versionen kör du az upgrade.To upgrade to the latest version, run az upgrade.

  • Den här artikeln kräver version 2.9.1 eller senare av Azure CLI.This article requires version 2.9.1 or later of the Azure CLI. Om du Azure Cloud Shell är den senaste versionen redan installerad.If using Azure Cloud Shell, the latest version is already installed.

ExempelskriptSample script

Det här exemplet är avsett att visa hur du ansluter ett befintligt Azure Cosmos-konto till ett befintligt nytt virtuellt nätverk där undernätet ännu inte har konfigurerats för tjänstslutpunkter med hjälp av ignore-missing-vnet-service-endpoint parametern .This sample is intended to show how to connect an existing Azure Cosmos account to an existing new virtual network where the subnet is not yet configured for service endpoints by using the ignore-missing-vnet-service-endpoint parameter. Detta gör att konfigurationen för Cosmos-kontot kan slutföras utan fel innan konfigurationen till det virtuella nätverkets undernät har slutförts.This allows the configuration for the Cosmos account to complete without error before the configuration to the virtual network's subnet is completed. När undernätskonfigurationen är klar är Cosmos-kontot sedan tillgängligt via det konfigurerade undernätet.Once the subnet configuration is complete, the Cosmos account will then be accessible through the configured subnet.

Anteckning

Det här exemplet visar hur du använder ett SQL-API-konto (Core).This sample demonstrates using a SQL (Core) API account. Om du vill använda det här exemplet för andra API:er tillämpar du parametrarna och i enable-virtual-network skriptet nedan på ditt virtual-network-rules API-specifika skript.To use this sample for other APIs, apply the enable-virtual-network and virtual-network-rules parameters in the script below to your API specific script.

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

Rensa distributionClean up deployment

När skriptexemplet har körts kan följande kommando användas för att ta bort resursgruppen och alla resurser som är kopplade till den.After the script sample has been run, the following command can be used to remove the resource group and all resources associated with it.

az group delete --name $resourceGroupName

Förklaring av skriptScript explanation

Det här skriptet använder följande kommandon.This script uses the following commands. Varje kommando i tabellen länkar till kommandospecifik dokumentation.Each command in the table links to command specific documentation.

KommandoCommand KommentarerNotes
az group createaz group create Skapar en resursgrupp där alla resurser lagras.Creates a resource group in which all resources are stored.
az network vnet createaz network vnet create Skapar ett virtuellt Azure-nätverk.Creates an Azure virtual network.
az network vnet subnet createaz network vnet subnet create Skapar ett undernät för ett virtuellt Azure-nätverk.Creates a subnet for an Azure virtual network.
az network vnet subnet showaz network vnet subnet show Returnerar ett undernät för ett virtuellt Azure-nätverk.Returns a subnet for an Azure virtual network.
az cosmosdb createaz cosmosdb create Skapar ett Azure Cosmos DB-konto.Creates an Azure Cosmos DB account.
az network vnet subnet updateaz network vnet subnet update Uppdaterar ett undernät för ett virtuellt Azure-nätverk.Updates a subnet for an Azure virtual network.
az group deleteaz group delete Tar bort en resursgrupp, inklusive alla kapslade resurser.Deletes a resource group including all nested resources.

Nästa stegNext steps

Mer information om cli Azure Cosmos DB finns i cli Azure Cosmos DB dokumentationen.For more information on the Azure Cosmos DB CLI, see Azure Cosmos DB CLI documentation.

Alla Azure Cosmos DB CLI-skriptexempel finns i Azure Cosmos DB CLI GitHub Repository.All Azure Cosmos DB CLI script samples can be found in the Azure Cosmos DB CLI GitHub Repository.