ARM Template listkeys () не может найти Поиск Azure

Я создаю шаблон 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 этого репо, если вы хотите увидеть его в действии.


person Jeremy Hutchinson    schedule 17.05.2017    source источник


Ответы (1)


Что ж, посмотрим на операции провайдера для Microsoft.Search:

Microsoft.Search/register/action
Microsoft.Search/checkNameAvailability/action
Microsoft.Search/searchServices/write
Microsoft.Search/searchServices/read
Microsoft.Search/searchServices/delete
Microsoft.Search/searchServices/start/action
Microsoft.Search/searchServices/stop/action
Microsoft.Search/searchServices/listAdminKeys/action
Microsoft.Search/searchServices/regenerateAdminKey/action
Microsoft.Search/searchServices/createQueryKey/action
Microsoft.Search/searchServices/queryKey/read
Microsoft.Search/searchServices/queryKey/delete

вот как вы это делаете:

 "[listAdminKeys(variables('searchServiceId'), '2015-08-19').PrimaryKey]"

Чтобы перечислить операции провайдера:

$ops = (Get-AzureRmProviderOperation -OperationSearchString */*).Operation
person 4c74356b41    schedule 17.05.2017
comment
Вы можете прокомментировать, как вы смотрели на работу провайдера? - person bearrito; 05.07.2017