Azure搜索,listAdminKeys,ARM输出错误(不支持http方法';POST';)

Azure搜索,listAdminKeys,ARM输出错误(不支持http方法';POST';),azure,azure-resource-manager,azure-cognitive-search,arm-template,Azure,Azure Resource Manager,Azure Cognitive Search,Arm Template,我将这段代码用作ARM模板中的输出对象 "[listAdminKeys(variables('searchServiceId'), '2015-08-19').PrimaryKey]" 输出部分的全文示例: "outputs": { "SearchServiceAdminKey": { "type": "string", "value": "[listAdminKeys(variables('searchServiceId'), '2015

我将这段代码用作ARM模板中的输出对象

    "[listAdminKeys(variables('searchServiceId'), '2015-08-19').PrimaryKey]"
输出部分的全文示例:

    "outputs": {
     "SearchServiceAdminKey": {
       "type": "string",
       "value": "[listAdminKeys(variables('searchServiceId'), '2015-08-19').PrimaryKey]"
      },

     "SearchServiceQueryKey": {
       "type": "string",
       "value": "[listQueryKeys(variables('searchServiceId'), '2015-08-19')[0]]"
      }
    "The requested resource does not support http method 'POST'."
我在部署期间收到以下错误(不幸的是,任何错误都意味着模板部署将跳过输出部分):

检查浏览器行为似乎可以验证错误是否与函数相关(并且,它使用POST)

如何避免此错误并在输出中检索AzureSearch管理密钥

更新:这样做的目的是收集所有相关的信息,作为参数插入其他脚本(.ps1),因为这些资源是由该模板提供的。可以避免有人通过门户进行挖掘以进行复制/粘贴


谢谢

您的错误来自listQueryKeys,而不是管理员密钥



您将无法检索arm模板中的调用,它只能“模拟”POST调用,而不能获取最新API版本的查询密钥,可以使用以下方法获取查询密钥:

     "SearchServiceQueryKey": {
       "type": "string",
       "value": "[listQueryKeys(variables('searchServiceId'), '2020-06-30').value[0].key]"
      }

非常感谢。我看我误解了错误文本。它抱怨listQueryKeys不能支持POST,而不是listAdminKeys支持POST。