Compreender a sequência de implementação no Azure Blueprints
Importante
A 11 de julho de 2026, o Blueprints (Pré-visualização) será preterido. Migre as definições e atribuições de esquemas existentes para Especificações de Modelo e Pilhas de Implementação. Os artefactos de esquema devem ser convertidos em modelos JSON do ARM ou ficheiros Bicep utilizados para definir pilhas de implementação. Para saber como criar um artefacto como um recurso do ARM, veja:
O Azure Blueprints utiliza uma ordem de sequenciação para determinar a ordem de criação de recursos ao processar a atribuição de uma definição de esquema. Este artigo explica os seguintes conceitos:
- A ordem de sequenciação predefinida utilizada
- Como personalizar a encomenda
- Como a encomenda personalizada é processada
Existem variáveis nos exemplos JSON que precisa de substituir pelos seus próprios valores:
-
{YourMG}
- substituir pelo nome do seu grupo de gestão
Ordem de sequenciação predefinida
Se a definição do esquema não contiver nenhuma diretiva para a ordem de implementação de artefactos ou a diretiva for nula, é utilizada a seguinte ordem:
- Artefactos de atribuição de função ao nível da subscrição ordenados pelo nome do artefacto
- Artefactos de atribuição de política ao nível da subscrição ordenados pelo nome do artefacto
- Artefactos do modelo do Azure Resource Manager ao nível da subscrição (modelos arm) ordenados pelo nome do artefacto
- Artefactos do grupo de recursos (incluindo artefactos subordinados) ordenados pelo nome do marcador de posição
Dentro de cada artefacto do grupo de recursos , é utilizada a seguinte sequência para que os artefactos sejam criados nesse grupo de recursos:
- Artefactos de atribuição de função subordinada do grupo de recursos ordenados pelo nome do artefacto
- Artefactos de atribuição de políticas subordinadas do grupo de recursos ordenados pelo nome do artefacto
- Artefactos subordinados do modelo do Azure Resource Manager do grupo de recursos (modelos arm) ordenados pelo nome do artefacto
Nota
A utilização de artefactos() cria uma dependência implícita do artefacto que está a ser referido.
Personalizar a ordem de sequenciação
Ao compor definições de esquema grandes, poderá ser necessário que os recursos sejam criados por uma ordem específica. O padrão de utilização mais comum deste cenário é quando uma definição de esquema inclui vários modelos do ARM. O Azure Blueprints processa este padrão ao permitir que a ordem de sequenciação seja definida.
A ordenação é efetuada ao definir uma dependsOn
propriedade no JSON. A definição de esquema, para grupos de recursos e objetos de artefactos, suporta esta propriedade.
dependsOn
é uma matriz de cadeia de carateres de nomes de artefactos que o artefacto específico precisa de ser criado antes de ser criado.
Nota
Ao criar objetos de esquema, cada recurso de artefacto obtém o respetivo nome a partir do nome de ficheiro, se estiver a utilizar o PowerShell ou o ponto final do URL, se estiver a utilizar a API REST. as referências resourceGroup nos artefactos têm de corresponder às definidas na definição do esquema.
Exemplo - grupo de recursos ordenado
Esta definição de esquema de exemplo tem um grupo de recursos que definiu uma ordem de sequenciação personalizada ao declarar um valor para dependsOn
, juntamente com um grupo de recursos padrão. Neste caso, o artefacto denominado assignPolicyTags será processado antes do grupo de recursos order-rg .
standard-rg será processado de acordo com a ordem de sequenciação predefinida.
{
"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"
}
Exemplo - artefacto com encomenda personalizada
Este exemplo é um artefacto de política que depende de um modelo do ARM. Por predefinição, seria criado um artefacto de política antes do modelo do ARM. Esta ordenação permite que o artefacto da política aguarde que o modelo do ARM seja criado.
{
"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"
}
Exemplo – artefacto de modelo ao nível da subscrição, dependendo de um grupo de recursos
Este exemplo destina-se a um modelo do ARM implementado ao nível da subscrição para depender de um grupo de recursos. Na ordenação predefinida, os artefactos ao nível da subscrição seriam criados antes de quaisquer grupos de recursos e artefactos subordinados nesses grupos de recursos. O grupo de recursos é definido na definição do esquema da seguinte forma:
"resourceGroups": {
"wait-for-me": {
"metadata": {
"description": "Resource Group that is deployed prior to the subscription level template artifact"
}
}
}
O artefacto do modelo de nível de subscrição, dependendo do grupo de recursos wait-for-me , é definido da seguinte forma:
{
"properties": {
"template": {
...
},
"parameters": {
...
},
"dependsOn": ["wait-for-me"],
"displayName": "SubLevelTemplate",
"description": ""
},
"kind": "template",
"type": "Microsoft.Blueprint/blueprints/artifacts"
}
Processar a sequência personalizada
Durante o processo de criação, é utilizada uma ordenação topológica para criar o gráfico de dependência dos artefactos do esquema. A verificação garante que cada nível de dependência entre grupos de recursos e artefactos é suportado.
Se for declarada uma dependência de artefacto que não altera a ordem predefinida, não é efetuada nenhuma alteração.
Um exemplo é um grupo de recursos que depende de uma política ao nível da subscrição. Outro exemplo é uma atribuição de política subordinada "standard-rg" do grupo de recursos que depende da atribuição da função subordinada "standard-rg" do grupo de recursos. Em ambos os casos, o dependsOn
não teria alterado a ordem de sequenciação predefinida e não seriam efetuadas alterações.
Passos seguintes
- Saiba mais sobre o ciclo de vida do esquema.
- Compreenda como utilizar parâmetros estáticos e dinâmicos.
- Saiba como utilizar o bloqueio de recursos de esquema.
- Saiba como atualizar as atribuições existentes.
- Resolva problemas durante a atribuição de um esquema com a resolução de problemas gerais.