Hızlı Başlangıç: Şablon belirtimlerinden Bicep ile dağıtım yığını oluşturma ve dağıtma
Bu hızlı başlangıçta, bir şablon belirtiminden nasıl dağıtım yığını oluşturulacağı açıklanır.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Azure PowerShell sürüm 12.0.0 veya üzeri ya da Azure CLI sürüm 2.61.0 veya üzeri.
- Bicep uzantısıyla Visual Studio Code.
Bicep dosyası oluşturma
Depolama hesabı ve sanal ağ oluşturmak için bir Bicep dosyası oluşturun.
param resourceGroupLocation string = resourceGroup().location
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param vnetName string = 'vnet${uniqueString(resourceGroup().id)}'
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageAccountName
location: resourceGroupLocation
kind: 'StorageV2'
sku: {
name: 'Standard_LRS'
}
}
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
name: vnetName
location: resourceGroupLocation
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'Subnet-1'
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: 'Subnet-2'
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
}
Bicep dosyasını main.bicep olarak kaydedin.
Şablon belirtimi oluşturma
Aşağıdaki komutla bir şablon belirtimi oluşturun.
az group create \
--name 'templateSpecRG' \
--location 'centralus'
az ts create \
--name 'stackSpec' \
--version '1.0' \
--resource-group 'templateSpecRG' \
--location 'centralus' \
--template-file 'main.bicep'
Şablon belirtim kimliğinin biçimi şeklindedir /subscriptions/<subscription-id>/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/stackSpec/versions/1.0
.
Dağıtım yığını oluşturma
Şablon belirtiminden bir dağıtım yığını oluşturun.
az group create \
--name 'demoRg' \
--location 'centralus'
id=$(az ts show --name 'stackSpec' --resource-group 'templateSpecRG' --version '1.0' --query 'id')
az stack group create \
--name demoStack \
--resource-group 'demoRg' \
--template-spec $id \
--action-on-unmanage 'detachAll' \
--deny-settings-mode 'none'
ve hakkında action-on-unmanage
daha fazla bilgi için bkz. Dağıtım yığınları.deny-setting-mode
Dağıtımı doğrulama
Dağıtılan dağıtım yığınlarını abonelik düzeyinde listelemek için:
az stack group show \
--resource-group 'demoRg' \
--name 'demoStack'
Çıktıda iki yönetilen kaynak gösterilir: bir depolama hesabı ve bir sanal ağ:
{
"actionOnUnmanage": {
"managementGroups": "detach",
"resourceGroups": "detach",
"resources": "detach"
},
"debugSetting": null,
"deletedResources": [],
"denySettings": {
"applyToChildScopes": false,
"excludedActions": null,
"excludedPrincipals": null,
"mode": "none"
},
"deploymentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Resources/deployments/demoStack-240517162aqmf",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT30.5642429S",
"error": null,
"failedResources": [],
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Resources/deploymentStacks/demoStack",
"location": null,
"name": "demoStack",
"outputs": null,
"parameters": {},
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "demoRg",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Network/virtualNetworks/vnetthmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Storage/storageAccounts/storethmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
}
],
"systemData": {
"createdAt": "2024-05-17T16:07:51.172012+00:00",
"createdBy": "johndoe@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-05-17T16:07:51.172012+00:00",
"lastModifiedBy": "johndoe@contoso.com",
"lastModifiedByType": "User"
},
"tags": {},
"template": null,
"templateLink": {
"contentVersion": null,
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/stackSpec/versions/1.0",
"queryString": null,
"relativePath": null,
"resourceGroup": "templateSpecRG",
"uri": null
},
"type": "Microsoft.Resources/deploymentStacks"
}
Dağıtım yığınındaki yönetilen kaynakları listeleyerek dağıtımı da doğrulayabilirsiniz:
az stack group show \
--name 'demoStack' \
--resource-group 'demoRg' \
--output 'json'
Çıktı şuna benzer olacaktır:
{
"actionOnUnmanage": {
"managementGroups": "detach",
"resourceGroups": "detach",
"resources": "detach"
},
"debugSetting": null,
"deletedResources": [],
"denySettings": {
"applyToChildScopes": false,
"excludedActions": null,
"excludedPrincipals": null,
"mode": "none"
},
"deploymentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Resources/deployments/demoStack-240517162aqmf",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT30.5642429S",
"error": null,
"failedResources": [],
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Resources/deploymentStacks/demoStack",
"location": null,
"name": "demoStack",
"outputs": null,
"parameters": {},
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "demoRg",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Network/virtualNetworks/vnetthmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Storage/storageAccounts/storethmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
}
],
"systemData": {
"createdAt": "2024-05-17T16:07:51.172012+00:00",
"createdBy": "johndoe@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-05-17T16:07:51.172012+00:00",
"lastModifiedBy": "johndoe@contoso.com",
"lastModifiedByType": "User"
},
"tags": {},
"template": null,
"templateLink": {
"contentVersion": null,
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/stackSpec/versions/1.0",
"queryString": null,
"relativePath": null,
"resourceGroup": "templateSpecRG",
"uri": null
},
"type": "Microsoft.Resources/deploymentStacks"
}
Dağıtım yığınını silme
Dağıtım yığınını ve yönetilen kaynakları silmek için:
az stack group delete \
--name 'demoStack' \
--resource-group 'demoRg' \
--action-on-unmanage 'deleteAll'
Dağıtım yığınını silmek, ancak yönetilen kaynakları ayırmak için. Örneğin:
az stack group delete \
--name 'demoStack' \
--resource-group 'demoRg' \
--action-on-unmanage 'detachAll'
Daha fazla bilgi için bkz . Dağıtım yığınlarını silme.
Kaynakları temizleme
Remove komutu yalnızca yönetilen kaynakları ve yönetilen kaynak gruplarını kaldırır. Yine de kaynak grubunu silmeniz gerekir.
az group delete \
--name 'demoRg'
Şablon belirtimini ve kaynak grubunu silmek için:
az group delete \
--name 'templateSpecRG'
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin