Utilizar um botão de implementação para implementar modelos remotos
Este artigo descreve como utilizar o botão Implementar no Azure para implementar modelos JSON do ARM remotos a partir de um repositório do GitHub ou de uma conta de armazenamento do Azure. Pode adicionar o botão diretamente ao ficheiro README.md no seu repositório do GitHub. Em alternativa, pode adicionar o botão a uma página Web que faça referência ao repositório. Este método não suporta a implementação de ficheiros Bicep remotos.
O âmbito de implementação é determinado pelo esquema do modelo. Para obter mais informações, consulte:
Permissões obrigatórias
Para implementar um ficheiro Bicep ou modelo do ARM, precisa de acesso de escrita nos recursos que está a implementar e acesso a todas as operações no tipo de recurso Microsoft.Resources/deployments. Por exemplo, para implementar uma máquina virtual, precisa Microsoft.Compute/virtualMachines/write
e Microsoft.Resources/deployments/*
permissões. A operação what-if tem os mesmos requisitos de permissão.
Para obter uma lista de funções e permissões, veja Funções incorporadas do Azure.
Utilizar imagem comum
Para adicionar o botão à sua página Web ou repositório, utilize a seguinte imagem:
![Deploy to Azure](https://aka.ms/deploytoazurebutton)
<img src="https://aka.ms/deploytoazurebutton"/>
A imagem é apresentada como:
Criar URL para implementar o modelo
Esta secção mostra como obter os URLs dos modelos armazenados no GitHub e na conta de armazenamento do Azure e como formatar os URLs.
Modelo armazenado no GitHub
Para criar o URL para o seu modelo, comece com o URL não processado para o modelo no seu repositório do GitHub. Para ver o URL não processado, selecione Raw.
O formato do URL é:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Nota
Para implementar um modelo ou referenciar um modelo ligado armazenado num repositório privado do GitHub, veja uma solução personalizada documentada em Criar uma Oferta do Portal do Azure Personalizada e Segura. Pode criar uma função do Azure que extrai o token do GitHub do Azure Key Vault.
Se estiver a utilizar o Git com os Repositórios do Azure em vez de um repositório do GitHub, ainda pode utilizar o botão Implementar no Azure . Certifique-se de que o seu repositório é público. Utilize a operação Itens para obter o modelo. O seu pedido 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 dos URLs dos modelos armazenados num contentor 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
Pode proteger o modelo com o token de SAS. Para obter mais informações, veja How to deploy private ARM template with SAS token (Como implementar um modelo privado do ARM com o token de SAS). O url seguinte é um exemplo com o token de 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 o URL
Assim que tiver o URL, terá de converter o URL num valor codificado por URL. Pode utilizar um codificador online ou executar um comando. O exemplo seguinte do PowerShell mostra como codificar um valor por URL.
$url = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json"
[uri]::EscapeDataString($url)
O URL de exemplo tem o seguinte valor quando o URL codificado.
https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json
Cada ligação começa com o mesmo URL base:
https://portal.azure.com/#create/Microsoft.Template/uri/
Adicione a ligação do modelo codificado por URL ao final do 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
Tem o URL completo para a ligação.
Botão Criar Implementar no Azure
Por fim, junte a ligação e a imagem.
Para adicionar o botão com Markdown no ficheiro README.md no seu repositório do GitHub ou numa página Web, utilize:
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](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, utilize:
<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 o repositório do Azure, o botão encontra-se no formato:
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](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)
Implementar o modelo
Para testar a solução completa, selecione o seguinte botão:
O portal apresenta um painel que lhe permite fornecer facilmente valores de parâmetros. Os parâmetros são pré-preenchidos com os valores predefinidos do modelo. O nome do parâmetro camel-cased, storageAccountType, definido no modelo, é transformado numa cadeia separada por espaço quando apresentado no portal.
Passos seguintes
- Para saber mais sobre modelos, veja Compreender a estrutura e a sintaxe dos modelos do ARM.