Share via


Usar um botão de implantação para implantar modelos remotos

Este artigo descreve como usar o botão Implantar no Azure para implantar modelos JSON ARM remotos de um repositório GitHub ou de uma conta de armazenamento do Azure. Você pode adicionar o botão diretamente ao arquivo README.md em seu repositório GitHub. Ou, você pode adicionar o botão a uma página da Web que faz referência ao repositório. Este método não suporta a implantação de arquivos Bicep remotos.

O escopo da implantaçã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 implantar uma máquina virtual, você precisa de Microsoft.Compute/virtualMachines/write permissões Microsoft.Resources/deployments/* . A operação hipotética tem os mesmos requisitos de permissão.

Para obter uma lista de funções e permissões, veja Funções incorporadas do Azure.

Usar imagem comum

Para adicionar o botão à sua página da Web ou repositório, use a seguinte imagem:

![Deploy to Azure](https://aka.ms/deploytoazurebutton)
<img src="https://aka.ms/deploytoazurebutton"/>

A imagem aparece como:

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

Criar URL para implantar modelo

Esta seção mostra como obter as URLs para os modelos armazenados no GitHub e na conta de armazenamento do Azure e como formatar as URLs.

Modelo armazenado no GitHub

Para criar a URL para seu modelo, comece com a URL bruta para o modelo no repositório do GitHub. Para ver o URL bruto, selecione Raw.

Captura de tela mostrando 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 implantar um modelo ou fazer referência a um modelo vinculado armazenado em um repositório privado do GitHub, consulte uma solução personalizada documentada em Criando uma oferta personalizada e segura do Portal do Azure. Você pode criar uma função do Azure que extrai o token do GitHub do Cofre da Chave do Azure.

Se você estiver usando o Git com o Azure Repos em vez de um repositório GitHub, ainda poderá usar o botão Implantar no Azure . Certifique-se de que o seu repositório é público. Use a operação Items para obter o modelo. O seu pedido deve ter o 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 modelo ARM privado com token SAS. A seguinte url é 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 o URL

Depois de ter o URL, você precisa convertê-lo em um valor codificado por URL. Você pode usar um codificador online ou executar um comando. O exemplo do PowerShell a seguir 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 URL codificado.

https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json

Cada link começa com o mesmo URL base:

https://portal.azure.com/#create/Microsoft.Template/uri/

Adicione o link 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

Você tem o URL completo para o link.

Botão Criar Implantar no Azure

Por fim, junte o link e a imagem.

Para adicionar o botão com Markdown no arquivo README.md no repositório GitHub ou em uma página da Web, use:

[![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, 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 repositório Git com Azure, o botão está 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 tela do botão Implantar no Azure com link.

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 com caixa camel, storageAccountType, definido no modelo, é transformado em uma cadeia de caracteres separada por espaço quando exibido no portal.

Captura de tela do painel de exibição do portal do Azure para fornecer valores de parâmetro.

Próximos passos