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.
Neste tutorial, você aprenderá a retornar um valor do modelo do ARM (Azure Resource Manager). Você usa saídas quando precisa de um valor para um recurso implantado. Este tutorial leva 7 minutos para ser concluído.
Pré-requisitos
Recomendamos que você conclua o tutorial sobre variáveis, mas isso não é necessário.
Você precisa ter o Visual Studio Code e o Azure PowerShell ou a CLI do Azure. Para obter mais informações, consulte as ferramentas de modelo.
Modelo de revisão
No final do tutorial anterior, seu modelo tinha o seguinte JSON:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"type": "string",
"minLength": 3,
"maxLength": 11
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
]
}
Ele implanta uma conta de armazenamento, mas não retorna nenhuma informação sobre ela. Talvez seja necessário capturar propriedades do novo recurso para que elas fiquem disponíveis posteriormente para referência.
Adicionar saídas
Você pode usar saídas para retornar valores do modelo. Pode ser útil, por exemplo, obter os endpoints para a sua nova conta de armazenamento.
O exemplo a seguir realça a alteração no modelo para adicionar um valor de saída. Copie o arquivo inteiro e substitua o modelo pelo conteúdo:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"type": "string",
"minLength": 3,
"maxLength": 11
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Há alguns itens importantes a serem observados sobre o valor de saída que você adicionou.
O tipo de valor retornado é definido como object, o que significa que ele retorna um objeto JSON.
Ele usa a função de referência para obter o estado de runtime da conta de armazenamento. Para obter o estado de runtime de um recurso, passe o nome ou a ID de um recurso. Nesse caso, você usa a mesma variável usada para criar o nome da conta de armazenamento.
Por fim, retorna a propriedade primaryEndpoints da conta de armazenamento.
Implantar modelo
Você está pronto para implantar o modelo e examinar o valor retornado.
Se você ainda não criou o grupo de recursos, consulte Criar grupo de recursos. O exemplo pressupõe que você definiu a templateFile variável para o caminho para o arquivo de modelo, conforme mostrado no primeiro tutorial.
New-AzResourceGroupDeployment `
-Name addoutputs `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS
Na saída do comando de implantação, você verá um objeto semelhante ao exemplo a seguir somente se a saída estiver no formato JSON:
{
"dfs": "https://storeluktbfkpjjrkm.dfs.core.windows.net/",
"web": "https://storeluktbfkpjjrkm.z19.web.core.windows.net/",
"blob": "https://storeluktbfkpjjrkm.blob.core.windows.net/",
"queue": "https://storeluktbfkpjjrkm.queue.core.windows.net/",
"table": "https://storeluktbfkpjjrkm.table.core.windows.net/",
"file": "https://storeluktbfkpjjrkm.file.core.windows.net/"
}
Observação
Se a implantação falhar, use a opção verbose para obter informações sobre os recursos que estão sendo criados. Use a opção debug para obter mais informações de depuração.
Examinar seu trabalho
Você fez muito nos últimos seis tutoriais. Vamos ter um momento para examinar o que você fez. Você criou um modelo com parâmetros fáceis de fornecer. O modelo é reutilizável em ambientes diferentes porque permite a personalização e cria dinamicamente os valores necessários. Ele também retorna informações sobre a conta de armazenamento que você pode usar em seu script.
Agora, vamos examinar o grupo de recursos e o histórico de implantação.
Entre no portal do Azure.
No menu à esquerda, selecione Grupos de recursos.
Selecione o grupo de recursos no qual você implantou.
Dependendo das etapas que você fez, você deve ter pelo menos uma e talvez várias contas de armazenamento no grupo de recursos.
Você também deve ter várias implantações bem-sucedidas listadas no histórico. Selecione esse link.
Você vê todas as implantações no histórico. Selecione a implantação chamada addoutputs.
Você pode examinar as entradas.
Você pode revisar as saídas.
Você pode examinar o modelo.
Limpar os recursos
Se você estiver passando para o próximo tutorial, não precisará excluir o grupo de recursos.
Se você estiver parando agora, talvez queira excluir o grupo de recursos.
- No portal do Azure, selecione Grupos de recursos no menu à esquerda.
- Digite o nome do grupo de recursos no campo Filtrar para qualquer campo... texto.
- Marque a caixa ao lado de myResourceGroup e selecione myResourceGroup ou o nome do grupo de recursos.
- Escolha Excluir grupo de recursos no menu superior.
Próximas etapas
Neste tutorial, você adicionou um valor retornado ao modelo. No próximo tutorial, você aprenderá a exportar um modelo e usar partes desse modelo exportado em seu modelo.