Comprendere la sequenza di distribuzione in Azure Blueprints
Importante
Il 11 luglio 2026 Blueprints (anteprima) sarà deprecato. Eseguire la migrazione delle definizioni e delle assegnazioni di progetto esistenti a specifiche di modello e stack di distribuzione. Gli artefatti del progetto devono essere convertiti in modelli JSON ARM o file Bicep usati per definire gli stack di distribuzione. Per informazioni su come creare un artefatto come risorsa arm, vedere:
Azure Blueprints usa un ordine di sequenziazione per determinare l'ordine di creazione delle risorse durante l'elaborazione dell'assegnazione di una definizione di progetto. In questo articolo vengono descritti i concetti seguenti:
- L'ordine di sequenziazione predefinito usato
- Come personalizzare l'ordine
- Come viene elaborato l'ordine personalizzato
Sono presenti variabili negli esempi JSON che è necessario sostituire con i propri valori:
-
{YourMG}
: sostituire con il nome del gruppo di gestione
Ordine di sequenziazione predefinito
Se la definizione del progetto non contiene alcuna direttiva per l'ordine di distribuzione degli artefatti o la direttiva è Null, viene usato l'ordine seguente:
- Livello di abbonamento assegnazione di ruolo degli elementi ordinati per nome dell'artefatto
- Livello di abbonamento assegnazione del criterio degli elementi ordinati per nome dell'artefatto
- Artefatti del modello di Resource Manager di Azure a livello di sottoscrizione ordinati in base al nome dell'artefatto
- Gruppo di risorse degli elementi (inclusi gli elementi figlio) ordinati per nome segnaposto
In ciascun artefatto del gruppo di risorse, viene usato il seguente ordine di sequenza per creare artefatti all'interno di tale gruppo di risorse:
- Figlio di gruppo di risorse assegnazione di ruolo degli elementi ordinati per nome dell'artefatto
- Figlio di gruppo di risorse assegnazione del criterio degli elementi ordinati per nome dell'artefatto
- Elementi del modello di Azure Resource Manager figlio del gruppo di risorse ordinati in base al nome dell'artefatto
Nota
L'uso di artifacts() crea una dipendenza implicita dall'artefatto a cui viene fatto riferimento.
Personalizzazione dell'ordine di sequenziazione
Quando si compongono definizioni di progetto di grandi dimensioni, potrebbe essere necessario creare le risorse in un ordine specifico. Il modello d'uso più comune di questo scenario è quando una definizione di progetto include diversi modelli di Resource Manager. Azure Blueprints gestisce questo modello consentendo di definire l'ordine di sequenziazione.
Questa operazione viene eseguita definendo una proprietà dependsOn
in JSON. La definizione del progetto, per i gruppi di risorse e gli oggetti artefatti, supportano questa proprietà.
dependsOn
è una matrice di stringhe di nomi dell'elemento che deve essere creata prima che venga creato l'elemento specifico.
Nota
Quando si creano oggetti progetto, ogni risorsa artefatto ottiene il nome dal nome del file, se si usa PowerShell o l'endpoint URL, se si usa l'API REST. I riferimenti resourceGroup negli artefatti devono corrispondere a quelli definiti nella definizione del progetto.
Esempio - Gruppo di risorse ordinato
Questa definizione di progetto di esempio include un gruppo di risorse che ha definito un ordine di sequenziazione personalizzato dichiarando un valore per dependsOn
, insieme a un gruppo di risorse standard. In questo caso, l'elemento denominato assignPolicyTags verrà elaborato prima del gruppo di risorse ordered-rg.
standard-rg verranno elaborati secondo l'ordine della sequenziazione predefinita.
{
"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"
}
Esempio - elemento con ordinamento personalizzato
Questo esempio è un artefatto di criteri che dipende da un modello di Resource Manager. Per impostazione predefinita, un artefatto dei criteri viene creato prima del modello di Resource Manager. Questo ordinamento consente all'artefatto dei criteri di attendere la creazione del modello di Resource Manager.
{
"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"
}
Esempio: artefatto del modello a livello di sottoscrizione a seconda di un gruppo di risorse
Questo esempio è destinato a un modello di Resource Manager distribuito a livello di sottoscrizione a seconda di un gruppo di risorse. Nell'ordinamento predefinito, gli artefatti a livello di sottoscrizione vengono creati prima di tutti i gruppi di risorse e gli artefatti figlio in tali gruppi di risorse. Il gruppo di risorse è definito nella definizione del progetto come segue:
"resourceGroups": {
"wait-for-me": {
"metadata": {
"description": "Resource Group that is deployed prior to the subscription level template artifact"
}
}
}
L'artefatto del modello a livello di sottoscrizione a seconda del gruppo di risorse wait-for-me è definito come segue:
{
"properties": {
"template": {
...
},
"parameters": {
...
},
"dependsOn": ["wait-for-me"],
"displayName": "SubLevelTemplate",
"description": ""
},
"kind": "template",
"type": "Microsoft.Blueprint/blueprints/artifacts"
}
Elaborazione della sequenza personalizzata
Durante il processo di creazione, un ordinamento topologico viene usato per creare il grafo delle dipendenze degli artefatti dei progetti. Il controllo garantisce il supporto per ogni livello di dipendenza tra gruppi di risorse e artefatti.
Se si dichiara che la dipendenza di un artefatto non altera l'ordine predefinito, non viene apportata alcuna modifica.
Un esempio è un gruppo di risorse che dipende da un criterio a livello di sottoscrizione. Un altro esempio è un'assegnazione di criteri del gruppo di risorse figlio "standard-rg" che dipende da un'assegnazione di ruolo del gruppo di risorse figlio "standard-rg". In entrambi i casi, il dependsOn
non avrebbe modificato l'ordine sequenziale predefinito e non sarebbero state apportate modifiche.
Passaggi successivi
- Informazioni sul ciclo di vita del progetto.
- Informazioni su come usare parametri statici e dinamici.
- Informazioni su come usare in modo ottimale il blocco delle risorse del progetto.
- Informazioni su come aggiornare assegnazioni esistenti.
- Risolvere i problemi durante l'assegnazione di un progetto con la risoluzione generale dei problemi.