2016-11-18 7 views
1

У меня есть шаблон ARM, который создает среди других ресурсов веб-сайт, на котором размещается веб-сайт и задание, которое является частью планировщика. Мне удалось настроить все настройки с помощью шаблона ARM, за исключением проверки подлинности.Получить учетные данные для развертывания веб-сайта в шаблоне ARM

Когда задание необходимо запустить, он создает HTTP-запрос, который должен начинаться с webjob. К сожалению, веб-сайт никогда не запускается. Если я зашел на портал Azure и обновил настройки для задания (параметры действия) и настроил обычную проверку подлинности (с учетными данными развертывания), все начнет работать, как ожидалось, но я не уверен, как я могу получить эти учетные данные из шаблона ARM , Я могу запустить его один раз, создать веб-сайт, получить учетные данные, а затем обновить шаблон ARM, но это победит всю причину, по которой я создаю шаблон ARM.

ответ

2

Я нашел ответ, который дал мне большую часть пути; вы можете установить Uri запроса на list(resourceId('Microsoft.Web/sites/config', variables('webSiteName'), 'publishingcredentials'), '2016-08-01').properties.scmUri. Вам также понадобится конкатенировать остальную часть пути (например,)

Uri, созданный вышеуказанным кодом, включает в себя основные учетные данные авторизации, и это анализируется в какой-то момент, а имя пользователя и пароль выводятся из Uri поэтому они не видны на портале Azure, и для аутентификации установлено значение «Basic», а учетные данные установлены на извлеченные значения.

Однако мой Uri добавил строку запроса, добавленную в конец, чтобы передать параметры в webjob. Во время процесса развертывания строка запроса сбрасывается (вопросительный знак экранируется до %3F, и если у вас есть экранированные символы в значении аргументов, они будут потеряны.

Мне удалось обойти это, объединив строки вместе составляет Uri (НЕ используя scmUri свойства), а затем установив authentication свойство, которое является родственным к uri собственности выглядеть следующим образом

"authentication": { "type": "Basic", "username": "[list(resourceId('Microsoft.Web/sites/config', variables('webSiteName'), 'publishingcredentials'), '2016-08-01').properties.publishingUserName]", "password": "[list(resourceId('Microsoft.Web/sites/config', variables('webSiteName'), 'publishingcredentials'), '2016-08-01').properties.publishingPassword]" }

 Смежные вопросы

  • Нет связанных вопросов^_^