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:

Captura de ecrã do botão Implementar no Azure.

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.

Captura de ecrã a mostrar como selecionar Raw no GitHub.

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:

Captura de ecrã do botão Implementar no Azure com ligaçã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.

Captura de ecrã a mostrar portal do Azure painel de apresentação para fornecer valores de parâmetros.

Passos seguintes