Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
O Azure Blueprints (Preview) será aposentado em 31 de janeiro de 2027, com aposentadoria faseada a partir de 31 de julho de 2026. Migre suas definições e atribuições de blueprint existentes para Implementation Stacks (recomendado) e Especificações de Templates. Artefatos de blueprint são convertidos em templates ARM JSON ou arquivos Bicep usados para definir pilhas de implantação. Para a linha do tempo completa em fases, impacto e FAQ, veja Azure Blueprints aposentadoria ou https://aka.ms/AzureBlueprintsRetirement. Para saber como criar um artefato como um recurso do ARM, confira:
O Azure Blueprints fornece funções que tornam a definição de blueprint mais dinâmica. Essas funções são para uso com definições de blueprint e artefatos de blueprint. Um artefato do Azure Resource Manager Template (template ARM) suporta o uso completo das funções do Resource Manager, além de obter um valor dinâmico por meio de um parâmetro blueprint.
São suportadas as seguintes funções:
artifacts
artifacts(artifactName)
Retorna um objeto de propriedades preenchido com os artefatos do blueprint que gera.
Observação
A artifacts() função não pode ser usada dentro de um Template ARM. A função só pode ser usada na definição de blueprint JSON ou no artefato JSON ao gerenciar o blueprint com Azure PowerShell ou REST API, como parte do Blueprints-as-code.
Parâmetros
| Parâmetro | Required | Tipo | Descrição |
|---|---|---|---|
| artifactName | Yes | cadeia | O nome de um artefato de planta. |
Valor de retorno
Um objeto de propriedades de saída. As propriedades das saídas dependem do tipo de artefato do blueprint referenciado. Todos os tipos seguem o formato:
{
"outputs": {collectionOfOutputProperties}
}
Artefato de atribuição de políticas
{
"outputs": {
"policyAssignmentId": "{resourceId-of-policy-assignment}",
"policyAssignmentName": "{name-of-policy-assignment}",
"policyDefinitionId": "{resourceId-of-policy-definition}",
}
}
Artefato do modelo ARM
As propriedades de saída do objeto retornado são definidas dentro do template ARM e retornadas pela implantação.
Artefato de atribuição de função
{
"outputs": {
"roleAssignmentId": "{resourceId-of-role-assignment}",
"roleDefinitionId": "{resourceId-of-role-definition}",
"principalId": "{principalId-role-is-being-assigned-to}",
}
}
Exemplo
Um artefato de template ARM com o ID myTemplateArtifact contendo a seguinte propriedade de saída de exemplo:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
...
"outputs": {
"myArray": {
"type": "array",
"value": ["first", "second"]
},
"myString": {
"type": "string",
"value": "my string value"
},
"myObject": {
"type": "object",
"value": {
"myProperty": "my value",
"anotherProperty": true
}
}
}
}
Alguns exemplos de recuperação de dados do exemplo myTemplateArtifact são:
| Expression | Tipo | Value |
|---|---|---|
[artifacts("myTemplateArtifact").outputs.myArray] |
Array | ["primeiro", "segundo"] |
[artifacts("myTemplateArtifact").outputs.myArray[0]] |
String | "Primeiro" |
[artifacts("myTemplateArtifact").outputs.myString] |
String | "meu valor de corda" |
[artifacts("myTemplateArtifact").outputs.myObject] |
Objeto | { "minhaPropriedade": "meu valor", "outraPropriedade": verdadeiro } |
[artifacts("myTemplateArtifact").outputs.myObject.myProperty] |
String | "meu valor" |
[artifacts("myTemplateArtifact").outputs.myObject.anotherProperty] |
Bool | True |
concat
concat(string1, string2, string3, ...)
Combina múltiplos valores de cadeia e retorna a cadeia concatenada.
Parâmetros
| Parâmetro | Required | Tipo | Descrição |
|---|---|---|---|
| string1 | Yes | cadeia | O primeiro valor para concatenação. |
| argumentos adicionais | No | cadeia | Valores adicionais em ordem sequencial para concatenação |
Valor de retorno
Uma sequência de valores concatenados.
Comentários
A função Azure Blueprints difere da função template ARM porque só funciona com strings.
Exemplo
concat(parameters('organizationName'), '-vm')
parâmetros
parameters(parameterName)
Retorna um valor do parâmetro blueprint. O nome do parâmetro especificado deve ser definido na definição do blueprint ou em artefatos do blueprint.
Parâmetros
| Parâmetro | Required | Tipo | Descrição |
|---|---|---|---|
| parameterName | Yes | cadeia | O nome do parâmetro a retornar. |
Valor de retorno
O valor do parâmetro especificado do blueprint ou do artefato do blueprint.
Comentários
A função Azure Blueprints difere da função template ARM porque funciona apenas com parâmetros de blueprint.
Exemplo
Defina os princípioIds do parâmetro na definição do blueprint:
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"parameters": {
"principalIds": {
"type": "array",
"metadata": {
"displayName": "Principal IDs",
"description": "This is a blueprint parameter that any artifact can reference. We'll display these descriptions for you in the info bubble. Supply principal IDs for the users,groups, or service principals for the Azure role assignment.",
"strongType": "PrincipalId"
}
}
},
...
}
}
Depois, use principalIds como argumento para parameters() um artefato de blueprint:
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "roleAssignment",
...
"properties": {
"roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
"principalIds": "[parameters('principalIds')]",
...
}
}
resourceGroup
resourceGroup()
Retorna um objeto que representa o grupo de recursos atual.
Valor de retorno
O objeto retornado está no seguinte formato:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Comentários
A função Azure Blueprints difere da função template ARM. A resourceGroup() função não pode ser usada em um artefato de nível de assinatura ou na definição do blueprint. Ele só pode ser usado em artefatos de blueprint que fazem parte de um artefato de grupo de recursos.
Um uso comum da resourceGroup() função é criar recursos no mesmo local do artefato do grupo de recursos.
Exemplo
Para usar a localização do grupo de recursos, definida na definição do blueprint ou durante a atribuição, como local para outro artefato, declare um objeto placeholder do grupo de recursos na definição do seu blueprint. Neste exemplo, NetworkingPlaceholder é o nome do placeholder do grupo de recursos.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Depois, use a resourceGroup() função no contexto de um artefato de blueprint que está mirando um objeto provisório de grupo de recursos. Neste exemplo, o artefato do template é implantado no grupo de recursos NetworkingPlaceholder e fornece o parâmetro resourceLocation preenchido dinamicamente com a localização do grupo de recursos NetworkingPlaceholder ao template. A localização do grupo de recursos NetworkingPlaceholder poderia ter sido definida estaticamente na definição do blueprint ou dinamicamente durante a atribuição. Em ambos os casos, o artefato do modelo recebe essa informação como um parâmetro e a utiliza para implantar os recursos no local correto.
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"kind": "template",
"properties": {
"template": {
...
},
"resourceGroup": "NetworkingPlaceholder",
...
"parameters": {
"resourceLocation": {
"value": "[resourceGroup().location]"
}
}
}
}
resourceGroups
resourceGroups(placeholderName)
Retorna um objeto que representa o artefato especificado do grupo de recursos. Diferente de , que requer contexto do artefato, essa função é usada para obter as propriedades de um grupo específico de recursos como resourceGroup()marcador quando não está no contexto desse grupo de recursos.
Parâmetros
| Parâmetro | Required | Tipo | Descrição |
|---|---|---|---|
| Nome do Lugar | Yes | cadeia | O nome provisório do artefato do grupo de recursos a ser retornado. |
Valor de retorno
O objeto retornado está no seguinte formato:
{
"name": "{resourceGroupName}",
"location": "{resourceGroupLocation}",
}
Exemplo
Para usar a localização do grupo de recursos, definida na definição do blueprint ou durante a atribuição, como local para outro artefato, declare um objeto placeholder do grupo de recursos na definição do seu blueprint. Neste exemplo, NetworkingPlaceholder é o nome do placeholder do grupo de recursos.
{
"type": "Microsoft.Blueprint/blueprints",
"properties": {
...
"resourceGroups": {
"NetworkingPlaceholder": {
"location": "eastus"
}
}
}
}
Depois, use a resourceGroups() função do contexto de qualquer artefato de blueprint para obter uma referência ao objeto placeholder do grupo de recursos. Neste exemplo, o artefato do template é implantado fora do grupo de recursos NetworkingPlaceholder e fornece o artefactoLocalização do parâmetro preenchido dinamicamente com a localização do grupo de recursos NetworkingPlaceholder para o modelo. A localização do grupo de recursos NetworkingPlaceholder poderia ter sido definida estaticamente na definição do blueprint ou dinamicamente durante a atribuição. Em ambos os casos, o artefato do modelo recebe essa informação como um parâmetro e a utiliza para implantar os recursos no local correto.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"artifactLocation": {
"value": "[resourceGroups('NetworkingPlaceholder').location]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
assinatura
subscription()
Retorna detalhes sobre a assinatura para a designação atual do projeto.
Valor de retorno
O objeto retornado está no seguinte formato:
{
"id": "/subscriptions/{subscriptionId}",
"subscriptionId": "{subscriptionId}",
"tenantId": "{tenantId}",
"displayName": "{name-of-subscription}"
}
Exemplo
Use o nome de exibição da assinatura e a concat() função para criar uma convenção de nomenclatura passada como parâmetro resourceName para o artefato do modelo.
{
"kind": "template",
"properties": {
"template": {
...
},
...
"parameters": {
"resourceName": {
"value": "[concat(subscription().displayName, '-vm')]"
}
}
},
"type": "Microsoft.Blueprint/blueprints/artifacts",
"name": "myTemplate"
}
Próximas Etapas
- Saiba mais sobre o ciclo de vida do blueprint.
- Entenda como usar parâmetros estáticos e dinâmicos.
- Saiba como personalizar a ordem de sequenciamento do blueprint.
- Descubra como usar o bloqueio de recursos do plano.
- Saiba como atualizar as atribuições existentes.
- Resolva problemas durante a atribuição de um modelo com diagnóstico geral.