Latihan - Membuat dan menyebarkan spesifikasi templat
Catatan
Saat Anda pertama kali mengaktifkan kotak pasir dan menerima persyaratan, akun Microsoft Anda dikaitkan dengan direktori Azure baru bernama Microsoft Learn Sandbox. Anda juga ditambahkan ke langganan khusus bernama Langganan Concierge.
Di perusahaan mainan Anda, tim Anda telah bekerja dengan Azure untuk sementara waktu sekarang, dan Anda membuat banyak templat yang Anda gunakan setiap hari. Anda memutuskan untuk mengambil satu templat dan membuat spesifikasi templat. Anda mulai dengan templat yang Anda gunakan untuk membuat akun Azure Cosmos DB.
Tim Anda memutuskan bahwa pencadangan berkelanjutan perlu dikonfigurasi di semua akun Azure Cosmos DB Anda. Jadi Anda ingin menyertakan cadangan dalam konfigurasi default akun Azure Cosmos DB yang disediakan melalui spesifikasi templat.
Dalam latihan ini, Anda menerbitkan templat Azure Cosmos DB sebagai spesifikasi templat.
Selama proses tersebut, Anda akan:
- Buat templat yang akan Anda gunakan sebagai spesifikasi templat.
- Perbarui templat untuk memastikan bahwa parameter mudah dipahami dan dikerjakan.
- Menerbitkan spesifikasi templat.
- Verifikasi spesifikasi templat dengan menggunakan portal Azure.
- Sebarkan spesifikasi templat untuk mengujinya.
- Verifikasi penyebaran.
Latihan ini menggunakan ekstensi Bicep untuk Visual Studio Code. Pastikan untuk menginstal ekstensi ini di Visual Studio Code.
Buat template
Anda mulai dengan salah satu templat yang dibuat tim Anda. Templat menyebarkan akun Azure Cosmos DB dan mengonfigurasinya untuk mengaktifkan pencadangan berkelanjutan.
Buka Visual Studio Code.
Buat file baru yang disebut main.bicep.
Simpan file kosong sehingga Visual Studio Code dapat memuat alat Bicep.
Anda dapat memilih File>Simpan Sebagai atau pilih Ctrl+S untuk Windows (⌘+S untuk macOS). Pastikan untuk mengingat di mana Anda menyimpan file. Misalnya, Anda mungkin ingin membuat folder skrip untuk menyimpan file-nya.
Salin kode berikut ke main.bicep:
param location string = resourceGroup().location param cosmosDBAccountName string = 'toy-${uniqueString(resourceGroup().id)}' resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2021-04-15' = { name: cosmosDBAccountName kind: 'GlobalDocumentDB' location: location properties: { consistencyPolicy: { defaultConsistencyLevel: 'Session' } locations: [ { locationName: location failoverPriority: 0 isZoneRedundant: false } ] databaseAccountOfferType: 'Standard' enableAutomaticFailover: false enableMultipleWriteLocations: false backupPolicy: { type: 'Continuous' } } }
Perhatikan bahwa Anda mengatur
backupPolicy
keContinuous
. Nilai ini mengonfigurasi Azure Cosmos DB untuk mengambil cadangan data Anda secara terus menerus, bukan secara berkala.Simpan file.
Buka Visual Studio Code.
Buat file baru yang disebut azuredeploy.json.
Simpan file kosong sehingga Visual Studio Code memuat peralatan templat Azure Resource Manager (templat ARM).
Anda dapat memilih File>Simpan Sebagai atau pilih Ctrl+S untuk Windows (⌘+S untuk macOS). Pastikan untuk mengingat di mana Anda menyimpan file. Misalnya, Anda mungkin ingin membuat folder skrip untuk menyimpan file-nya.
Salin kode berikut ke azuredeploy.json:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "location": { "type": "string", "defaultValue": "[resourceGroup().location]" }, "cosmosDBAccountName": { "type": "string", "defaultValue": "[concat('toy-', uniqueString(resourceGroup().id))]" } }, "resources": [ { "type": "Microsoft.DocumentDB/databaseAccounts", "apiVersion": "2021-04-15", "name": "[parameters('cosmosDBAccountName')]", "kind": "GlobalDocumentDB", "location": "[parameters('location')]", "properties": { "consistencyPolicy": { "defaultConsistencyLevel": "Session" }, "locations": [ { "locationName": "[parameters('location')]", "failoverPriority": 0, "isZoneRedundant": false } ], "databaseAccountOfferType": "Standard", "enableAutomaticFailover": false, "enableMultipleWriteLocations": false, "backupPolicy": { "type": "Continuous" } } } ] }
Perhatikan bahwa Anda mengatur
backupPolicy
keContinuous
. Nilai ini mengonfigurasi Azure Cosmos DB untuk mengambil cadangan data Anda secara terus menerus, bukan secara berkala.Simpan file.
Membuat parameter lebih mudah dipahami
Saat Anda bekerja dengan spesifikasi templat, penting untuk mempertimbangkan bagaimana orang lain menggunakan templat Anda. Ulasan ini sangat penting untuk parameter, karena mereka adalah cara utama orang lain berinteraksi dengan kode Anda. Parameter dalam templat tim Anda tidak menyertakan deskripsi atau petunjuk lain tentang bagaimana parameter tersebut harus digunakan, sehingga Anda menambahkan informasi ini di sini.
location
Perbarui definisi parameter dengan menambahkan deskripsi:@description('The Azure region into which the Cosmos DB resources should be deployed.') param location string = resourceGroup().location
Perbarui definisi parameter
cosmosDBAccountName
untuk menambahkan deskripsi, dan untuk menentukan panjang minimum dan maksimum nama:@description('The name of the Cosmos DB account. This name must be globally unique, and it must only include lowercase letters, numbers, and hyphens.') @minLength(3) @maxLength(44) param cosmosDBAccountName string = 'toy-${uniqueString(resourceGroup().id)}'
Simpan file.
location
Perbarui definisi parameter dengan menambahkan deskripsi:"location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "The Azure region into which the Cosmos DB resources should be deployed." } },
Perbarui definisi parameter
cosmosDBAccountName
untuk menambahkan deskripsi, dan untuk menentukan panjang minimum dan maksimum nama:"cosmosDBAccountName": { "type": "string", "defaultValue": "[concat('toy-', uniqueString(resourceGroup().id))]", "maxLength": 44, "minLength": 3, "metadata": { "description": "The name of the Cosmos DB account. This name must be globally unique, and it must only include lowercase letters, numbers, and hyphens." } }
Simpan file.
Masuk ke Azure
Untuk menyebarkan templat ini ke Azure, Anda harus masuk ke akun Azure Anda dari terminal Visual Studio Code. Pastikan Anda telah menginstal Azure CLI, dan ingatlah untuk masuk dengan akun yang sama dengan yang Anda gunakan untuk mengaktifkan kotak pasir.
Pada menu Terminal, pilih Terminal Baru. Jendela terminal biasanya terbuka di bagian bawah layar Anda.
Jika shell yang ditampilkan di sisi kanan jendela terminal adalah bash, shell yang benar terbuka dan Anda dapat melompat ke bagian berikutnya.
Jika shell selain bash muncul, pilih panah dropdown shell, lalu pilih Git Bash.
Dalam daftar shell terminal, pilih bash.
Di terminal, buka direktori tempat Anda menyimpan template. Misalnya, jika Anda menyimpan template ke folder template, Anda dapat menggunakan perintah ini:
cd templates
Menginstal Bisep
Jalankan perintah berikut untuk memastikan Anda memiliki Bicep versi terbaru:
az bicep install && az bicep upgrade
Masuk ke Azure
Pada terminal Visual Studio Code, masuk ke Azure dengan menjalankan perintah berikut:
az login
Masuk ke akun Azure Anda melalui browser yang terbuka.
Terminal Visual Studio Code menampilkan daftar langganan yang terkait dengan akun ini.
Tetapkan langganan default untuk semua perintah Azure CLI yang Anda jalankan dalam sesi ini.
az account set --subscription "Concierge Subscription"
Catatan
Jika Anda telah menggunakan lebih dari satu kotak pasir baru-baru ini, terminal mungkin menampilkan lebih dari satu instans Langganan Concierge. Jika demikian, gunakan dua langkah berikutnya untuk menetapkan salah satunya sebagai langganan default. Jika perintah sebelumnya berhasil, dan hanya satu Langganan Concierge yang tercantum, lewati dua langkah berikutnya.
Mendapatkan ID Langganan Concierge.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Tetapkan langganan default menggunakan ID langganan. Ganti {ID langganan Anda} dengan ID Langganan Concierge terbaru.
az account set --subscription {your subscription ID}
Menetapkan grup sumber daya default
Saat menggunakan Azure CLI, Anda dapat mengatur grup sumber daya default dan menghilangkan parameter dari perintah Azure CLI lainnya dalam latihan ini. Atur default ke grup sumber daya yang dibuat untuk Anda di lingkungan kotak pasir.
az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"
Untuk menyebarkan template ini ke Azure, masuk ke akun Azure dari terminal Visual Studio Code. Pastikan Anda telah menginstal Azure PowerShell, dan masuk ke akun yang sama yang mengaktifkan ko.
Pada menu Terminal, pilih Terminal Baru. Jendela terminal biasanya terbuka di bagian bawah layar Anda.
Jika shell yang ditampilkan di sisi kanan jendela terminal adalah powershell atau pwsh, shell yang benar terbuka, dan Anda dapat melompat ke bagian berikutnya.
Jika shell selain powershell atau pwsh muncul, pilih panah dropdown shell, lalu pilih PowerShell.
Dalam daftar shell terminal, pilih powershell atau pwsh.
Di terminal, buka direktori tempat Anda menyimpan template. Misalnya, jika Anda menyimpannya ke folder template, Anda dapat menggunakan perintah ini:
Set-Location -Path templates
Menginstal Bicep CLI
Untuk menggunakan Bicep dari Azure PowerShell, instal Bicep CLI.
Masuk ke Azure menggunakan Azure PowerShell
Di terminal Visual Studio Code, jalankan perintah berikut:
Connect-AzAccount
Browser terbuka sehingga Anda dapat masuk ke akun Azure.
Setelah masuk ke Azure, terminal menampilkan daftar langganan yang terkait dengan akun ini.
Jika Anda telah mengaktifkan kotak pasir, langganan bernama Langganan Concierge akan ditampilkan. Gunakan kotak pasir tersebut untuk latihan yang tersisa.
Tetapkan langganan default untuk semua perintah Azure PowerShell yang dijalankan dalam sesi ini.
$context = Get-AzSubscription -SubscriptionName 'Concierge Subscription' Set-AzContext $context
Catatan
Jika Anda telah menggunakan lebih dari satu kotak pasir baru-baru ini, terminal mungkin menampilkan lebih dari satu instans Langganan Concierge. Jika demikian, gunakan dua langkah berikutnya untuk menetapkan salah satunya sebagai langganan default. Jika perintah sebelumnya berhasil, dan hanya satu Langganan Concierge yang tercantum, lewati dua langkah berikutnya.
Dapatkan ID langganan. Menjalankan perintah berikut akan mencantumkan langganan Anda dan ID mereka. Cari
Concierge Subscription
, lalu salin ID dari kolom kedua. Ini terlihat seperticf49fbbc-217c-4eb6-9eb5-a6a6c68295a0
.Get-AzSubscription
Ubah langganan aktif Anda menjadi Langganan Concierge. Pastikan untuk mengganti {Your subscription ID} dengan ID yang telah Anda salin.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Menetapkan grup sumber daya default
Anda dapat mengatur grup sumber daya default dan menghilangkan parameter dari perintah Azure PowerShell lainnya dalam latihan ini. Atur default ini ke grup sumber daya yang dibuat untuk Anda di lingkungan kotak pasir.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Untuk menyebarkan templat ini ke Azure, Anda harus masuk ke akun Azure Anda dari terminal Visual Studio Code. Pastikan Anda telah menginstal Azure CLI, dan ingatlah untuk masuk dengan akun yang sama dengan yang Anda gunakan untuk mengaktifkan kotak pasir.
Pada menu Terminal, pilih Terminal Baru. Jendela terminal biasanya terbuka di bagian bawah layar Anda.
Jika shell yang ditampilkan di sisi kanan jendela terminal adalah bash, shell yang benar terbuka dan Anda dapat melompat ke bagian berikutnya.
Jika shell selain bash muncul, pilih panah dropdown shell, lalu pilih Git Bash.
Dalam daftar shell terminal, pilih bash.
Di terminal, buka direktori tempat Anda menyimpan template. Misalnya, jika Anda menyimpan template ke folder template, Anda dapat menggunakan perintah ini:
cd templates
Masuk ke Azure
Pada terminal Visual Studio Code, masuk ke Azure dengan menjalankan perintah berikut:
az login
Masuk ke akun Azure Anda melalui browser yang terbuka.
Terminal Visual Studio Code menampilkan daftar langganan yang terkait dengan akun ini.
Tetapkan langganan default untuk semua perintah Azure CLI yang Anda jalankan dalam sesi ini.
az account set --subscription "Concierge Subscription"
Catatan
Jika Anda telah menggunakan lebih dari satu kotak pasir baru-baru ini, terminal mungkin menampilkan lebih dari satu instans Langganan Concierge. Jika demikian, gunakan dua langkah berikutnya untuk menetapkan salah satunya sebagai langganan default. Jika perintah sebelumnya berhasil, dan hanya satu Langganan Concierge yang tercantum, lewati dua langkah berikutnya.
Mendapatkan ID Langganan Concierge.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Tetapkan langganan default menggunakan ID langganan. Ganti {ID langganan Anda} dengan ID Langganan Concierge terbaru.
az account set --subscription {your subscription ID}
Menetapkan grup sumber daya default
Saat menggunakan Azure CLI, Anda dapat mengatur grup sumber daya default dan menghilangkan parameter dari perintah Azure CLI lainnya dalam latihan ini. Atur default ke grup sumber daya yang dibuat untuk Anda di lingkungan kotak pasir.
az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"
Untuk menyebarkan template ini ke Azure, masuk ke akun Azure dari terminal Visual Studio Code. Pastikan Anda telah menginstal Azure PowerShell, dan masuk ke akun yang sama yang mengaktifkan ko.
Pada menu Terminal, pilih Terminal Baru. Jendela terminal biasanya terbuka di bagian bawah layar Anda.
Jika shell yang ditampilkan di sisi kanan jendela terminal adalah powershell atau pwsh, shell yang benar terbuka, dan Anda dapat melompat ke bagian berikutnya.
Jika shell selain powershell atau pwsh muncul, pilih panah dropdown shell, lalu pilih PowerShell.
Dalam daftar shell terminal, pilih powershell atau pwsh.
Di terminal, buka direktori tempat Anda menyimpan template. Misalnya, jika Anda menyimpannya ke folder template, Anda dapat menggunakan perintah ini:
Set-Location -Path templates
Masuk ke Azure menggunakan Azure PowerShell
Di terminal Visual Studio Code, jalankan perintah berikut:
Connect-AzAccount
Browser terbuka sehingga Anda dapat masuk ke akun Azure.
Setelah masuk ke Azure, terminal menampilkan daftar langganan yang terkait dengan akun ini.
Jika Anda telah mengaktifkan kotak pasir, langganan bernama Langganan Concierge akan ditampilkan. Gunakan kotak pasir tersebut untuk latihan yang tersisa.
Tetapkan langganan default untuk semua perintah Azure PowerShell yang dijalankan dalam sesi ini.
$context = Get-AzSubscription -SubscriptionName 'Concierge Subscription' Set-AzContext $context
Catatan
Jika Anda telah menggunakan lebih dari satu kotak pasir baru-baru ini, terminal mungkin menampilkan lebih dari satu instans Langganan Concierge. Jika demikian, gunakan dua langkah berikutnya untuk menetapkan salah satunya sebagai langganan default. Jika perintah sebelumnya berhasil, dan hanya satu Langganan Concierge yang tercantum, lewati dua langkah berikutnya.
Dapatkan ID langganan. Menjalankan perintah berikut akan mencantumkan langganan Anda dan ID mereka. Cari
Concierge Subscription
, lalu salin ID dari kolom kedua. Ini terlihat seperticf49fbbc-217c-4eb6-9eb5-a6a6c68295a0
.Get-AzSubscription
Ubah langganan aktif Anda menjadi Langganan Concierge. Pastikan untuk mengganti {Your subscription ID} dengan ID yang telah Anda salin.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Menetapkan grup sumber daya default
Anda dapat mengatur grup sumber daya default dan menghilangkan parameter dari perintah Azure PowerShell lainnya dalam latihan ini. Atur default ini ke grup sumber daya yang dibuat untuk Anda di lingkungan kotak pasir.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Menerbitkan templat sebagai spesifikasi templat
Menyebarkan templat menggunakan cmdlet Azure PowerShell di terminal Visual Studio Code:
New-AzTemplateSpec `
-ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
-Name ToyCosmosDBAccount `
-Location westus `
-DisplayName 'Cosmos DB account' `
-Description "This template spec creates a Cosmos DB account that meets our company's requirements." `
-Version '1.0' `
-TemplateFile main.bicep
New-AzTemplateSpec `
-ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
-Name ToyCosmosDBAccount `
-Location westus `
-DisplayName 'Cosmos DB account' `
-Description "This template spec creates a Cosmos DB account that meets our company's requirements." `
-Version '1.0' `
-TemplateFile azuredeploy.json
Menerbitkan templat menggunakan perintah Azure CLI di terminal Visual Studio Code:
az ts create \
--name ToyCosmosDBAccount \
--location westus \
--display-name "Cosmos DB account" \
--description "This template spec creates a Cosmos DB account that meets our company's requirements." \
--version 1.0 \
--template-file main.bicep
az ts create \
--name ToyCosmosDBAccount \
--location westus \
--display-name "Cosmos DB account" \
--description "This template spec creates a Cosmos DB account that meets our company's requirements." \
--version 1.0 \
--template-file azuredeploy.json
Menggunakan portal Azure untuk memverifikasi spesifikasi templat
Buka portal Microsoft Azure dan pastikan Anda berada di langganan kotak pasir:
- Pilih avatar Anda di sudut kanan atas halaman.
- Lalu pilih Beralih direktori. Dalam daftar, pilih direktori Microsoft Learn Sandbox.
Di panel sebelah kiri, pilih Grup sumber daya.
Pilih
[nama grup sumber daya kotak pasir] . Perhatikan bahwa spesifikasi templat disertakan dalam daftar sumber daya:Pilih ToyCosmosDBAccount untuk membuka spesifikasi templat. Versi dan file templat terlihat.
Sebarkan spesifikasi templat
Untuk kesederhanaan, Anda menyebarkan spesifikasi templat ke dalam grup sumber daya kotak pasir yang sama dengan spesifikasi templat itu sendiri disimpan. Biasanya, Anda menyimpan spesifikasi templat dalam grup sumber daya yang berbeda. Namun, langkahnya sama dua arah.
Dapatkan ID sumber daya versi spesifikasi templat dengan menjalankan perintah Azure PowerShell berikut:
$templateSpecVersionResourceId = (` Get-AzTemplateSpec ` -ResourceGroupName <rgn>[sandbox resource group name]</rgn> ` -Name ToyCosmosDBAccount ` -Version 1.0 ` ).Versions[0].Id
Perhatikan bahwa Anda menggunakan properti
Versions
. Saat Anda menyebarkan spesifikasi templat, Anda perlu mereferensikan ID sumber daya dari versi tertentu spesifikasi templat untuk digunakan.Menyebarkan templat menggunakan perintah Azure PowerShell di terminal Visual Studio Code:
New-AzResourceGroupDeployment -TemplateSpecId $templateSpecVersionResourceId
Dapatkan ID sumber daya versi spesifikasi templat dengan menjalankan perintah Azure CLI berikut:
id=$(az ts show \ --name ToyCosmosDBAccount \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --version "1.0" \ --query "id")
Menyebarkan templat menggunakan perintah Azure CLI di terminal Visual Studio Code:
az deployment group create --template-spec $id
Penyelesaian penyebaran mungkin membutuhkan waktu satu atau dua menit.
Memverifikasi penyebaran Anda
Di browser Anda, kembali ke portal Microsoft Azure. Buka grup sumber daya.
Di samping Penyebaran, pilih tautan 1 Berhasil untuk melihat detail penyebaran.
Memilih penyebaran.
Nama penyebaran Anda mungkin terlihat berbeda dari yang ada di contoh.
Pilih Detail penyebaran untuk meluaskannya. Konfirmasikan bahwa akun Azure Cosmos DB disebarkan.