Azure 'de dağıtım sırasını anlayın
Azure şemaları, bir şema tanımının atamasını işlerken kaynak oluşturma sırasını belirlemede bir sıralama düzeni kullanır. Bu makalede aşağıdaki kavramlar açıklanmaktadır:
- Kullanılan varsayılan sıralama düzeni
- Sıralamayı Özelleştirme
- Özelleştirilmiş sıra nasıl işlenir
JSON örneklerinde, kendi değerlerinizle değiştirmeniz gereken değişkenler vardır:
{YourMG}- Yönetim grubunuzun adıyla değiştirin
Varsayılan sıralama düzeni
Şema tanımı yapıtları dağıtmaya yönelik bir yönerge içermiyorsa veya yönerge null ise, aşağıdaki sıra kullanılır:
- Yapıt adına göre sıralanan abonelik düzeyi rol atama yapıtları
- Yapıt adına göre sıralanan abonelik düzeyi ilke atama yapıtları
- Yapıt adına göre sıralanan abonelik düzeyi Azure Resource Manager şablonu (ARM şablonları) yapıları
- Kaynak grubu yapıtları (alt yapıtlar dahil) yer tutucu adına göre sıralanmış
Her kaynak grubu yapıtları içinde, bu kaynak grubu içinde yapıların oluşturulması için aşağıdaki sıra sırası kullanılır:
- Yapıt adına göre sıralanan kaynak grubu alt rol ataması yapıtları
- Yapıt adına göre sıralanan kaynak grubu alt ilke atama yapıtları
- Kaynak grubu alt Azure Resource Manager şablonu (ARM şablonları) yapıt adına göre sıralanan yapılar
Not
Yapıtlar () kullanımı, başvurulan yapıtın üzerinde örtük bir bağımlılık oluşturur.
Sıralama düzenini özelleştirme
Büyük şema tanımları oluştururken kaynakların belirli bir sırada oluşturulması gerekebilir. Bu senaryonun en yaygın kullanım deseninin, bir şema tanımının birçok ARM şablonu içermesi durumunda olur. Azure şemaları, sıralama düzeninin tanımlanmasına izin vererek bu düzeni işler.
Sıralama, dependsOn JSON içinde bir özellik tanımlayarak yapılır. Kaynak grupları ve yapıt nesneleri için şema tanımı bu özelliği destekler. dependsOn , belirli yapıtın oluşturulmadan önce oluşturulması gereken yapıt adlarından oluşan bir dize dizisidir.
Not
Şema nesneleri oluştururken, her yapıt kaynağı, PowerShellkullanıyorsanız veya REST APIkullanılıyorsa URL uç noktası olan adı dosya adıyla alır. yapıtlar içindeki resourceGroup başvuruları, şema tanımında tanımlananlarla aynı olmalıdır.
Örnek-sıralı kaynak grubu
Bu örnek şema tanımında, için bir değer bildirerek bir dependsOn Standart kaynak grubuyla birlikte özel bir sıralama düzeni tanımlamış bir kaynak grubu vardır. Bu durumda, atamaadı adlı yapıt, sıralı-RG kaynak grubundan önce işlenir.
Standart-RG , varsayılan sıralama düzeni başına işlenir.
{
"properties": {
"description": "Example blueprint with custom sequencing order",
"resourceGroups": {
"ordered-rg": {
"dependsOn": [
"assignPolicyTags"
],
"metadata": {
"description": "Resource Group that waits for 'assignPolicyTags' creation"
}
},
"standard-rg": {
"metadata": {
"description": "Resource Group that follows the standard sequence ordering"
}
}
},
"targetScope": "subscription"
},
"type": "Microsoft.Blueprint/blueprints"
}
Örnek-özel siparişle yapıt
Bu örnek, ARM şablonuna bağlı olan bir ilke yapıtıdır. Varsayılan sıralama, ARM şablonundan önce bir ilke yapıtı oluşturulur. Bu sıralama, ilke yapıtının ARM şablonunun oluşturulmasını beklemesini sağlar.
{
"properties": {
"displayName": "Assigns an identifying tag",
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
"resourceGroup": "standard-rg",
"dependsOn": [
"customTemplate"
]
},
"kind": "policyAssignment",
"type": "Microsoft.Blueprint/artifacts"
}
Örnek-bir kaynak grubuna bağlı olarak abonelik düzeyi şablon yapıtı
Bu örnek, abonelik düzeyinde dağıtılan bir ARM şablonu için bir kaynak grubuna göre değişir. Varsayılan sıralamada, abonelik düzeyi yapıtlar bu kaynak gruplarındaki herhangi bir kaynak grubundan ve alt yapıtlardan önce oluşturulur. Kaynak grubu, aşağıdaki gibi şema tanımında tanımlanmıştır:
"resourceGroups": {
"wait-for-me": {
"metadata": {
"description": "Resource Group that is deployed prior to the subscription level template artifact"
}
}
}
Bana bekle kaynak grubuna bağlı olarak abonelik düzeyi şablonu yapıtı şöyle tanımlanır:
{
"properties": {
"template": {
...
},
"parameters": {
...
},
"dependsOn": ["wait-for-me"],
"displayName": "SubLevelTemplate",
"description": ""
},
"kind": "template",
"type": "Microsoft.Blueprint/blueprints/artifacts"
}
Özelleştirilmiş diziyi işleme
Oluşturma işlemi sırasında, planlar yapıtlarının bağımlılık grafiğini oluşturmak için bir topik sıralama kullanılır. Denetim, kaynak grupları ve yapıtlar arasındaki her bağımlılık düzeyinin desteklendiğinden emin olmanızı sağlar.
Bir yapıt bağımlılığının varsayılan sırayı değiştirmediği bildirilirse, hiçbir değişiklik yapılmaz.
Bir örnek, abonelik düzeyi ilkesine bağlı olan bir kaynak grubudur. Diğer bir örnek, kaynak grubu ' standart-RG ' alt rol atamasına bağlı olan bir kaynak grubu ' standart-RG ' alt ilke atamasıdır. Her iki durumda da dependsOn varsayılan sıralama sırasını değiştirmezdi ve hiçbir değişiklik yapılmaz.
Sonraki adımlar
- Şema yaşam döngüsü hakkında bilgi edinin.
- Statik ve dinamik parametrelerin kullanımını anlayın.
- Şema kaynak kilitleme özelliğini kullanmayı öğrenin.
- Mevcut atamaları güncelleştirmeyi öğrenin.
- Genel sorun giderme adımlarıyla şema atama sorunlarını giderin.