Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается использование кнопки Deploy для Azure для развертывания удаленных шаблонов JSON ARM из репозитория GitHub или учетной записи хранения Azure. Вы можете добавить кнопку непосредственно в файл README.md в репозитории GitHub. Кроме того, можно добавить кнопку на веб-страницу, которая ссылается на репозиторий. Этот метод не поддерживает развертывание удаленных файлов Bicep.
Область развертывания определяется схемой шаблона. Дополнительные сведения можно найти здесь
Предпосылки
Необходимые разрешения
Чтобы развернуть файл Bicep или шаблон Azure Resource Manager (ARM), необходим доступ на запись к ресурсам, которые вы развертываете, и доступ ко всем операциям с типом ресурсов Майкрософт.Resources/deployments. Например, для развертывания виртуальной машины требуется Майкрософт.Compute/virtualMachines/write и разрешения Майкрософт.Resources/deployments/*. Операция what-if имеет те же требования к разрешениям.
Azure CLI версии 2.76.0 или более поздней и Azure PowerShell версии 13.4.0 или более поздней введите параметр ValidationLevel, чтобы определить, как тщательно ARM проверяет шаблон Bicep во время этого процесса. Дополнительные сведения см. в разделе "Что если"
Чтобы увидеть список ролей и разрешений, см. раздел встроенные роли Azure.
Использование общего образа
Чтобы добавить кнопку на веб-страницу или репозиторий, используйте следующий образ:

<img src="https://aka.ms/deploytoazurebutton"/>
Изображение отображается следующим образом:
Создание URL-адреса для развертывания шаблона
В этом разделе показано, как получить URL-адреса для шаблонов, хранящихся в GitHub и учетной записи хранения Azure, а также как их отформатировать.
Шаблон, хранящийся в GitHub
Чтобы создать URL-адрес шаблона, начните с необработанного URL-адреса шаблона в репозитории GitHub. Чтобы просмотреть необработанный URL-адрес, выберите "Необработанный".
Формат URL-адреса:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Замечание
Сведения о развертывании шаблона или ссылке на связанный шаблон, хранящийся в частном репозитории GitHub, см. в пользовательском решении, описанном в Создание пользовательского и безопасного предложения портал Azure. Вы можете создать функцию Azure, которая извлекает маркер GitHub из Azure Key Vault.
Если вы используете Git с Azure Repos вместо репозитория GitHub, можно по-прежнему использовать кнопку Deploy для Azure. Убедитесь, что репозиторий является общедоступным. Используйте операцию "Элементы" , чтобы получить шаблон. Запрос должен иметь следующий формат:
https://dev.azure.com/{organization-name}/{project-name}/_apis/git/repositories/{repository-name}/items?scopePath={url-encoded-path}&api-version=6.0
Шаблон, хранящийся в учетной записи хранения Azure
Формат URL-адресов для шаблонов, хранящихся в общедоступном контейнере:
https://{storage-account-name}.blob.core.windows.net/{container-name}/{template-file-name}
Рассмотрим пример.
https://demostorage0215.blob.core.windows.net/democontainer/azuredeploy.json
Шаблон можно защитить с помощью маркера SAS. Дополнительные сведения см. в статье "Развертывание частного шаблона ARM с маркером SAS". Следующий URL-адрес является примером маркера 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
Форматирование URL-адреса
После получения URL необходимо преобразовать его в URL-кодированное значение. Вы можете использовать сетевой кодировщик или выполнить команду. В следующем примере PowerShell показано, как кодировать значение в URL-адресе.
$url = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json"
[uri]::EscapeDataString($url)
Пример URL-адреса имеет следующее значение при кодировании URL-адреса.
https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json
Каждая ссылка начинается с одного базового URL-адреса:
https://portal.azure.com/#create/Microsoft.Template/uri/
Добавьте ссылку шаблона в кодировке URL-адреса в конец базового URL-адреса.
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
У вас есть полный URL-адрес ссылки.
Кнопка "Создать развертывание в Azure"
Наконец, поместите ссылку и изображение вместе.
Чтобы добавить кнопку с Markdown в файл README.md в репозитории GitHub или веб-странице, используйте следующую команду:
[](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)
Для HTML используйте:
<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>
Для Git с репозиторием Azure кнопка находится в формате:
[](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)
Развертывание шаблона
Чтобы протестировать полное решение, нажмите следующую кнопку:
На портале отображается панель, которая позволяет легко предоставлять значения параметров. Параметры предварительно заполнены значениями по умолчанию из шаблона. Имя параметра, записанное в camel case, storageAccountType, определённое в шаблоне, преобразуется в строку с разделителями в виде пробелов при отображении на портале.
Дальнейшие шаги
- Дополнительные сведения о шаблонах см. в статье "Общие сведения о структуре и синтаксисе шаблонов ARM".