【问题标题】:ARM Template listkeys() fails to find Azure SearchARM 模板 listkeys() 无法找到 Azure 搜索
【发布时间】:2017-10-17 06:06:16
【问题描述】:

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

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

[listKeys(variables('searchServiceId'), '2015-08-19').key1]

我在变量部分得到了 searchServiceId

[resourceId('Microsoft.Search/searchServices', parameters('SearchServiceName'))]

FunctionAppSite 组件列出了对AppServicePlanStorageAccountSearchService 的依赖项。

当我部署模板时,搜索服务被创建,然后出现错误,因为listkeys 找不到搜索服务。这发生在服务创建后大约 0.25 秒。

我很确定我的 listkeys 语法是正确的,问题只是时间问题,但不知道如何减慢它的速度。我尝试强制StorageAccount 依赖于我的模板中的SearchService,希望依赖链会减慢速度,但是listkeys 错误发生在创建搜索服务之后,但在创建StorageAccount 之前.

完整的模板可以在 here 找到,如果你想看到它的实际效果,该 repo 的 readme.md 上有一个“部署到 Azure”按钮。

【问题讨论】:

    标签: azure azure-functions azure-cognitive-search arm-template


    【解决方案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
    

    【讨论】:

    • 您能否评论一下您是如何看待提供商运营的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    • 2022-11-23
    • 2020-06-11
    相关资源
    最近更新 更多