Omówienie sekwencji wdrażania w usłudze Azure Blueprints

Ważne

11 lipca 2026 r. strategia (wersja zapoznawcza) zostanie wycofana. Przeprowadź migrację istniejących definicji strategii i przypisań do szablonów specyfikacji i stosów wdrażania. Artefakty strategii mają być konwertowane na szablony JSON usługi ARM lub pliki Bicep używane do definiowania stosów wdrażania. Aby dowiedzieć się, jak utworzyć artefakt jako zasób usługi ARM, zobacz:

Usługa Azure Blueprints używa kolejności sekwencjonowania , aby określić kolejność tworzenia zasobów podczas przetwarzania przypisania definicji strategii. W tym artykule opisano następujące pojęcia:

  • Domyślna kolejność sekwencjonowania, która jest używana
  • Jak dostosować kolejność
  • Jak przetwarzana jest niestandardowa kolejność

Istnieją zmienne w przykładach JSON, które należy zastąpić własnymi wartościami:

  • {YourMG} — zastąp nazwą swojej grupy zarządzania

Domyślna kolejność sekwencjonowania

Jeśli definicja strategii nie zawiera żadnej dyrektywy dla zamówienia wdrażania artefaktów lub dyrektywa ma wartość null, jest używana następująca kolejność:

  • Artefakty przypisywania ról na poziomie subskrypcji posortowane według nazwy artefaktu
  • Artefakty przypisywania zasad na poziomie subskrypcji posortowane według nazwy artefaktu
  • Artefakty szablonu usługi Azure Resource Manager na poziomie subskrypcji (szablony usługi ARM) posortowane według nazwy artefaktu
  • Artefakty grupy zasobów (w tym artefakty podrzędne) posortowane według nazwy zastępczej

W ramach każdego artefaktu grupy zasobów do utworzenia artefaktów w tej grupie zasobów służy następująca kolejność sekwencji:

  • Artefakty przypisania roli podrzędnej grupy zasobów posortowane według nazwy artefaktu
  • Artefakty przypisania zasad podrzędnych grupy zasobów posortowane według nazwy artefaktu
  • Artefakty podrzędnej grupy zasobów platformy Azure Resource Manager (szablony usługi ARM) posortowane według nazwy artefaktu

Uwaga

Użycie artefaktów() tworzy niejawną zależność od odwoływanego artefaktu.

Dostosowywanie kolejności sekwencjonowania

Podczas tworzenia dużych definicji strategii może być konieczne utworzenie zasobów w określonej kolejności. Najczęstszym wzorcem użycia tego scenariusza jest sytuacja, w której definicja strategii zawiera kilka szablonów usługi ARM. Usługa Azure Blueprints obsługuje ten wzorzec, umożliwiając zdefiniowanie kolejności sekwencjonowania.

Kolejność jest realizowana przez zdefiniowanie dependsOn właściwości w formacie JSON. Definicja strategii, dla grup zasobów i obiektów artefaktów obsługują tę właściwość. dependsOn to tablica ciągów nazw artefaktów, którą należy utworzyć przed utworzeniem określonego artefaktu.

Uwaga

Podczas tworzenia obiektów strategii każdy zasób artefaktu pobiera nazwę z nazwy pliku, jeśli używa programu PowerShell lub punktu końcowego adresu URL, jeśli używa interfejsu API REST. odwołania do grupy zasobów w artefaktach muszą być zgodne z tymi zdefiniowanymi w definicji strategii.

Przykład — uporządkowana grupa zasobów

W tej przykładowej definicji strategii istnieje grupa zasobów, która zdefiniowała niestandardową kolejność sekwencjonowania, deklarując wartość elementu dependsOnwraz ze standardową grupą zasobów. W takim przypadku artefakt o nazwie assignPolicyTags zostanie przetworzony przed uporządkowaną grupą zasobów rg. Standard-rg zostanie przetworzony zgodnie z domyślną kolejnością sekwencjonowania.

{
    "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"
}

Przykład — artefakt z zamówieniem niestandardowym

W tym przykładzie jest artefakt zasad, który zależy od szablonu usługi ARM. Domyślnie zostanie utworzony artefakt zasad przed szablonem usługi ARM. Ta kolejność umożliwia artefaktowi zasad oczekiwanie na utworzenie szablonu usługi ARM.

{
    "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"
}

Przykład — artefakt szablonu na poziomie subskrypcji w zależności od grupy zasobów

W tym przykładzie szablon usługi ARM wdrożony na poziomie subskrypcji zależy od grupy zasobów. W domyślnej kolejności artefakty na poziomie subskrypcji zostaną utworzone przed wszystkimi grupami zasobów i artefaktami podrzędnymi w tych grupach zasobów. Grupa zasobów jest zdefiniowana w definicji strategii w następujący sposób:

"resourceGroups": {
    "wait-for-me": {
        "metadata": {
            "description": "Resource Group that is deployed prior to the subscription level template artifact"
        }
    }
}

Artefakt szablonu poziomu subskrypcji w zależności od grupy zasobów wait-for-me jest zdefiniowany w następujący sposób:

{
    "properties": {
        "template": {
            ...
        },
        "parameters": {
            ...
        },
        "dependsOn": ["wait-for-me"],
        "displayName": "SubLevelTemplate",
        "description": ""
    },
    "kind": "template",
    "type": "Microsoft.Blueprint/blueprints/artifacts"
}

Przetwarzanie niestandardowej sekwencji

Podczas procesu tworzenia sortowanie topologiczne służy do tworzenia grafu zależności artefaktów strategii. Sprawdzanie zapewnia, że każdy poziom zależności między grupami zasobów i artefaktami jest obsługiwany.

Jeśli zostanie zadeklarowana zależność artefaktu, która nie zmieni kolejności domyślnej, nie zostanie wprowadzona żadna zmiana. Przykładem jest grupa zasobów, która zależy od zasad poziomu subskrypcji. Innym przykładem jest przypisanie zasad podrzędnych "standard-rg", które zależy od przypisania roli podrzędnej grupy zasobów "standard-rg". W obu przypadkach dependsOn nie zmieniono domyślnej kolejności sekwencjonowania i nie wprowadzono żadnych zmian.

Następne kroki