Я создаю шаблон ARM для развертывания как экземпляра поиска Azure, так и приложения-функции, которое зависит от экземпляра поиска Azure. В рамках этого я пытаюсь предварительно заполнить настройки приложения Function Apps ключом API службы поиска.
Я делаю это, добавляя следующее в значение одной из настроек приложения FunctionAppSite
:
[listKeys(variables('searchServiceId'), '2015-08-19').key1]
Я получаю searchServiceId в разделах переменных
[resourceId('Microsoft.Search/searchServices', parameters('SearchServiceName'))]
Компонент FunctionAppSite
перечисляет зависимости от AppServicePlan
, StorageAccount
и SearchService
.
Когда я развертываю шаблон, создается служба поиска, и возникает ошибка, потому что listkeys
не может найти службу поиска. Это происходит примерно через 0,25 секунды после создания службы.
Я почти уверен, что у меня правильный синтаксис клавиш со списком, и проблема только в сроках, хотя я не уверен, как я могу его замедлить. Я попытался заставить StorageAccount
зависеть от SearchService
в моем шаблоне, надеясь, что цепочка зависимостей достаточно замедлит работу, но ошибка listkeys
возникает после создания службы поиска, но до создания StorageAccount
.
Полный шаблон можно найти здесь и есть кнопка «Развернуть в Azure» на readme.md этого репо, если вы хотите увидеть его в действии.