Sebarkan spesifikasi templat
Setelah membuat dan menerbitkan spesifikasi templat, Anda dapat menyebarkannya. Di unit ini, Anda mempelajari cara menyebarkan spesifikasi templat.
Membuat penyebaran dengan menggunakan spesifikasi templat
Untuk menyebarkan spesifikasi templat ke grup sumber daya, Anda menggunakan cmdlet yang sama New-AzResourceGroupDeployment
dengan yang Anda kenal. Alih-alih menentukan file templat, Anda menentukan ID sumber daya spesifikasi templat, seperti yang diperlihatkan dalam contoh ini:
New-AzResourceGroupDeployment `
-TemplateSpecId '/subscriptions/f0750bbe-ea75-4ae5-b24d-a92ca601da2c/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS'
Meskipun spesifikasi templat harus dibuat dalam grup sumber daya, Anda dapat menyebarkannya ke langganan, grup manajemen, atau bahkan penyewa dengan menggunakan cmdlet ini:
Untuk melakukan penyebaran pada cakupan ini: | Gunakan cmdlet PowerShell ini: |
---|---|
Grup sumber daya | New-AzResourceGroupDeployment |
Langganan | New-AzSubscriptionDeployment |
Grup manajemen | New-AzManagementGroupDeployment |
Penyewa | New-AzTenantDeployment |
Masing-masing cmdlet ini menerima -TemplateSpecId
parameter untuk memulai penyebaran spesifikasi templat di salah satu cakupan ini.
Untuk menyebarkan spesifikasi templat ke grup sumber daya, Anda menggunakan perintah yang sama az deployment group create
dengan yang Anda kenal. Alih-alih menentukan file templat, Anda menentukan ID sumber daya spesifikasi templat, seperti yang diperlihatkan dalam contoh ini:
az deployment group create \
--template-spec "/subscriptions/f0750bbe-ea75-4ae5-b24d-a92ca601da2c/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS"
Meskipun spesifikasi templat harus dibuat dalam grup sumber daya, Anda dapat menyebarkannya ke langganan, grup manajemen, atau bahkan penyewa dengan menggunakan perintah ini:
Untuk melakukan penyebaran pada cakupan ini: | Jalankan perintah Azure CLI ini: |
---|---|
Grup sumber daya | az deployment group create |
Langganan | az deployment sub create |
Grup manajemen | az deployment mg create |
Penyewa | az deployment tenant create |
Masing-masing perintah ini menerima --template-spec
argumen untuk memulai penyebaran spesifikasi templat di salah satu lingkup ini.
Menggunakan spesifikasi templat sebagai penyebaran tertaut
Untuk menggunakan spesifikasi templat dari dalam templat Azure Resource Manager (templat ARM) lain, Anda membuat penyebaran yang menggunakan spesifikasi templat tersebut. Jenis penyebaran ini disebut penyebaran tertaut karena Anda menautkan ke templat penyebaran yang ditentukan secara eksternal.
Di Azure, penyebaran adalah sumber daya yang memiliki tipe Microsoft.Resources/deployments
sumber daya. Saat Anda menyebarkan templat ARM, Anda membuat sumber daya penyebaran. Konsep yang sama berlaku saat Anda menyebarkan spesifikasi templat, seperti ini:
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-10-01",
"name": "createStorage",
"properties": {
"mode": "Incremental",
"templateLink": {
"id": "[resourceId('Microsoft.Resources/templateSpecs/versions', variables('templateSpecName'), variables('templateSpecVersion'))]"
}
}
}
Saat Anda memiliki parameter untuk menyediakan penyebaran spesifikasi templat, Anda menggunakan parameters
properti:
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-10-01",
"name": "createStorage",
"properties": {
"mode": "Incremental",
"templateLink": {
"id": "[resourceId('Microsoft.Resources/templateSpecs/versions', variables('templateSpecName'), variables('templateSpecVersion'))]"
},
"parameters": {
"storageAccountName": {
"value": "[parameters('storageAccountName')]"
}
}
}
}
Gunakan spesifikasi template sebagai modul Bicep
Anda dapat menggunakan spesifikasi template sebagai modul dalam file Bicep:
module storageAccountTemplateSpec 'ts:f0750bbe-ea75-4ae5-b24d-a92ca601da2c/sharedTemplates/StorageWithoutSAS:1.0' = {
name: 'storageAccountTemplateSpec'
}
Perhatikan bahwa jalur modul menggunakan format khusus:
Ada tiga komponen ke jalur modul, dipisahkan oleh karakter titik dua (:
):
- Skema: Bicep mendukung beberapa jenis modul, yang disebut skema. Saat Anda menggunakan spesifikasi template sebagai modul, Anda menggunakan
ts
sebagai skema. - ID langganan, nama grup sumber daya, dan nama spesifikasi templat: Nilai-nilai ini harus menentukan lokasi sumber daya spesifikasi templat yang sebelumnya Anda terbitkan. Anda menggunakan garis miring ke depan (
/
) untuk memisahkan ID langganan, nama grup sumber daya, dan nama spesifikasi template. Bagian jalur modul ini bukan ID sumber daya lengkap dari spesifikasi templat - hanya beberapa komponen ID sumber daya. - Versi: Versi spesifikasi template harus disertakan.
Catatan
Anda tidak dapat menggunakan variabel, parameter, atau interpolasi string saat Anda menentukan jalur ke modul. Jalur spesifikasi template lengkap harus disimpan ke dalam file Bicep Anda.
Jika Anda memiliki parameter untuk diberikan ke spesifikasi template, Anda menggunakan properti params
:
module storageAccountTemplateSpec 'ts:f0750bbe-ea75-4ae5-b24d-a92ca601da2c/sharedTemplates/StorageWithoutSAS:1.0' = {
name: 'storageAccountTemplateSpec'
params: {
storageAccountName: storageAccountName
}
}
File spesifikasi template diunduh dan disalin (ditranspilasikan) ke dalam template ARM JSON saat file Bicep dibuat. Biasanya operasi ini terjadi ketika Anda menyebarkan file Bicep, tetapi Anda juga dapat menggunakan alat Bicep untuk menerjemahkan secara eksplisit dengan menjalankan bicep build
perintah.