ARM模板listkeys()无法找到Azure搜索

Jer*_*son 2 azure azure-cognitive-search azure-rm-template azure-functions

我正在创建一个ARM模板来部署Azure搜索实例和依赖于Azure搜索实例的功能应用程序.作为其中的一部分,我尝试使用Search Service的API密钥预填充Function Apps应用程序设置.

我这样做是通过将以下内容添加到以下应用程序设置之一的值中FunctionAppSite:

[listKeys(variables('searchServiceId'), '2015-08-19').key1]
Run Code Online (Sandbox Code Playgroud)

我在变量部分得到了searchServiceId

[resourceId('Microsoft.Search/searchServices', parameters('SearchServiceName'))]
Run Code Online (Sandbox Code Playgroud)

FunctionAppSite组件列表上的依赖AppServicePlan,StorageAccountSearchService.

当我部署模板时,会创建搜索服务,然后发生错误,因为listkeys找不到搜索服务.这在服务创建后约.25秒发生.

我很确定我的listkeys周围的语法是正确的,问题只是时间,不知道我怎么能减慢它的速度.我试图强制StorageAccount依赖SearchService于我的模板,希望依赖链可以减慢速度,但是listkeys错误发生在创建搜索服务之后,但是在StorageAccount创建之前.

可以在此处找到完整模板,如果您希望在其中查看操作,则可以在该存储库的readme.md上找到"部署到Azure"按钮.

4c7*_*b41 7

好吧,看看提供商运营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
Run Code Online (Sandbox Code Playgroud)

这是你如何做到的:

 "[listAdminKeys(variables('searchServiceId'), '2015-08-19').PrimaryKey]"
Run Code Online (Sandbox Code Playgroud)

列出提供者操作:

$ops = (Get-AzureRmProviderOperation -OperationSearchString */*).Operation
Run Code Online (Sandbox Code Playgroud)

  • 您能评论一下您是如何看待提供者运营的吗? (2认同)