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.
Este artigo descreve como usar o botão Deploy para Azure para implantar modelos JSON remotos do ARM de um repositório GitHub ou de uma conta de armazenamento Azure. Você pode adicionar o botão diretamente ao arquivo README.md no repositório GitHub. Ou você pode adicionar o botão a uma página da Web que referencia o repositório. Esse método não dá suporte à implantação de arquivos remotos Bicep.
O escopo da implantação é determinado pelo esquema de modelo. Para obter mais informações, consulte:
Pré-requisitos
Permissões necessárias
Para implantar um arquivo Bicep ou um modelo ARM (Azure Resource Manager), você precisa de permissão de escrita nos recursos a serem implantados e acesso a todas as operações no tipo de recurso Microsoft.Resources/deployments. Por exemplo, para implantar uma máquina virtual, você precisa de permissões Microsoft.Compute/virtualMachines/write e Microsoft.Resources/deployments/*. A operação do teste de hipóteses tem os mesmos requisitos de permissão.
CLI do Azure versão 2.76.0 ou posterior e Azure PowerShell versão 13.4.0 ou posterior introduziram a opção ValidationLevel para determinar o quão minuciosamente ARM valida o modelo de Bicep durante esse processo. Para obter mais informações, consulte comandos what-if
Para obter uma lista de funções e permissões, consulte funções internas do Azure.
Usar imagem comum
Para adicionar o botão à página da Web ou ao repositório, use a seguinte imagem:

<img src="https://aka.ms/deploytoazurebutton"/>
A imagem aparece como:
Criar URL para implantar o modelo
Esta seção mostra como obter as URLs dos modelos armazenados em GitHub e Azure conta de armazenamento e como formatar as URLs.
Modelo armazenado em GitHub
Para criar a URL do modelo, comece com a URL bruta para o modelo no repositório GitHub. Para ver a URL bruta, selecione Raw.
O formato da URL é:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Observação
Para implantar um modelo ou fazer referência a um modelo vinculado armazenado em um repositório de GitHub privado, consulte uma solução personalizada documentada em Criando uma oferta de portal do Azure personalizada e segura. Você pode criar uma função Azure que extrai o token GitHub do Azure Key Vault.
Se você estiver usando Git com Azure Repos em vez de um repositório GitHub, ainda poderá usar o botão Deploy para Azure. Verifique se o repositório é público. Use a operação Itens para obter o modelo. Sua solicitação deve estar no seguinte formato:
https://dev.azure.com/{organization-name}/{project-name}/_apis/git/repositories/{repository-name}/items?scopePath={url-encoded-path}&api-version=6.0
Modelo armazenado na conta de armazenamento do Azure
O formato das URLs para os modelos armazenados em um contêiner público é:
https://{storage-account-name}.blob.core.windows.net/{container-name}/{template-file-name}
Por exemplo:
https://demostorage0215.blob.core.windows.net/democontainer/azuredeploy.json
Você pode proteger o modelo com o token SAS. Para obter mais informações, consulte Como implantar o modelo do ARM privado com o token SAS. A url a seguir é um exemplo com token SAS:
https://demostorage0215.blob.core.windows.net/privatecontainer/azuredeploy.json?sv=2019-07-07&sr=b&sig=rnI8%2FvKoCHmvmP7XvfspfyzdHjtN4GPsSqB8qMI9FAo%3D&se=2022-02-16T17%3A47%3A46Z&sp=r
Formatar a URL
Depois de ter a URL, você precisará converter a URL em um valor codificado em URL. Você pode usar um codificador online ou executar um comando. O exemplo do PowerShell a seguir mostra como codificar um valor na URL.
$url = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json"
[uri]::EscapeDataString($url)
A URL de exemplo tem o seguinte valor quando a URL é codificada.
https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json
Cada link começa com a mesma URL base:
https://portal.azure.com/#create/Microsoft.Template/uri/
Adicione seu link de modelo codificado em URL ao final da URL base.
https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json
Agora você tem o URL completa para o link.
Criar botão de Implantar no Azure
Por fim, coloque o link e a imagem juntos.
Para adicionar o botão com Markdown no arquivo README.md no repositório GitHub ou em uma página da Web, use:
[](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json)
Para HTML, use:
<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json" target="_blank">
<img src="https://aka.ms/deploytoazurebutton"/>
</a>
Para o Git com Azure repositório, o botão está no formato:
[](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fdev.azure.com%2Forgname%2Fprojectname%2F_apis%2Fgit%2Frepositories%2Freponame%2Fitems%3FscopePath%3D%2freponame%2fazuredeploy.json%26api-version%3D6.0)
Implantar o modelo
Para testar a solução completa, selecione o seguinte botão:
O portal exibe um painel que permite fornecer facilmente valores de parâmetro. Os parâmetros são pré-preenchidos com os valores padrão do modelo. O nome do parâmetro em camelcase storageAccountType, definido no modelo é transformado em uma cadeia de caracteres separada por espaços quando exibido no portal.
Próximas etapas
- Para saber mais sobre modelos, confira Noções básicas sobre a estrutura e a sintaxe dos modelos do ARM.