Menyambungkan akun Azure Cosmos yang ada dengan titik akhir layanan jaringan virtual menggunakan antarmuka tingkat panggilan Azure

BERLAKU UNTUK: SQL API Cassandra API Gremlin API Table API Azure Cosmos DB API for MongoDB

Skrip di dalam artikel ini menunjukkan penghubungan akun Azure Cosmos yang ada ke jaringan virtual baru yang ada di mana subnet-nya belum dikonfigurasikan untuk titik akhir layanan dengan menggunakan parameter ignore-missing-vnet-service-endpoint. Ini memungkinkan konfigurasi untuk akun Cosmos selesai tanpa kesalahan sebelum konfigurasi ke subnet jaringan virtual selesai. Setelah konfigurasi subnet selesai, akun Cosmos dapat diakses melalui subnet yang sudah dikonfigurasi.

Skrip ini menggunakan akun API SQL (Core). Untuk menggunakan sampel ini untuk API lain, terapkan parameter enable-virtual-network dan virtual-network-rules dalam skrip di bawah ini ke perintah untuk skrip spesifik API Anda.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

  • Artikel ini memerlukan Azure CLI versi 2.9.1 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, berarti versi terbaru sudah terpasang.

Skrip sampel

Meluncurkan Azure Cloud Shell

Azure Cloud Shell adalah shell interaktif gratis yang dapat Anda gunakan untuk menjalankan langkah-langkah dalam artikel ini. Shell ini memiliki alat Azure umum yang telah dipasang sebelumnya dan dikonfigurasi untuk digunakan dengan akun Anda.

Untuk membuka Cloud Shell, cukup pilih Coba dari sudut kanan atas blok kode. Anda juga dapat meluncurkan Cloud Shell di tab browser terpisah dengan membuka https://shell.azure.com.

Saat Cloud Shell terbuka, verifikasi bahwa Bash dipilih untuk lingkungan Anda. Sesi berikutnya akan menggunakan Azure CLI di lingkungan Bash, Pilih Salin untuk menyalin blok kode, tempel ke Cloud Shell, dan tekan Enter untuk menjalankannya.

Masuk ke Azure

Cloud Shell diautentikasi secara otomatis dengan akun awal yang digunakan untuk masuk. Gunakan skrip berikut untuk masuk menggunakan langganan yang berbeda, menggantikan <Subscription ID> dengan ID Langganan Azure Anda. Jika Anda tidak memiliki langganan Azure, buat akun gratis Azure sebelum memulai.

subscription="<subscriptionId>" # add subscription here

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

Untuk informasi selengkapnya, lihat mengatur langganan aktif atau masuk secara interaktif

Menjalankan skrip

# 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

Membersihkan sumber daya

Gunakan perintah berikut untuk menghapus grup sumber daya dan semua sumber daya yang terkait dengannya menggunakan perintah az group delete - kecuali Anda masih memiliki kebutuhan untuk sumber daya ini. Beberapa sumber daya ini mungkin membutuhkan beberapa waktu untuk dibuat dan dihapus.

az group delete --name $resourceGroup

Sampel referensi

Skrip ini menggunakan perintah berikut. Setiap perintah dalam tabel menautkan ke dokumentasi perintah tertentu.

Perintah Catatan
az group create Membuat grup sumber daya tempat semua sumber daya disimpan.
membuat vnet jaringan az Membuat jaringan virtual Azure.
membuat subnet az network vnet Membuat subnet untuk jaringan virtual Azure.
tampilkan subnet vnet jaringan az Mengembalikan subnet untuk jaringan virtual Azure.
membuat az cosmosdb Membuat akun Azure Cosmos DB.
pembaruan subnet vnet jaringan az Memperbarui subnet untuk jaringan virtual Azure.
menghapus grup az Menghapus grup sumber daya termasuk semua sumber daya berlapis.

Langkah berikutnya

Untuk informasi selengkapnya tentang Azure Cosmos DB CLI, lihat Dokumentasi Azure Cosmos DB CLI.

Untuk sampel Azure CLI untuk API tertentu, lihat: