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