Поиск Azure, listAdminKeys, ошибка вывода ARM (не поддерживает http-метод 'POST')

Я использую этот бит кода в качестве объекта вывода в моем шаблоне 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).

listAdminKeys используя POST

Как можно избежать этой ошибки и получить ключ администратора AzureSearch в выходных данных?

Обновление: цель этого состоит в том, чтобы собрать все соответствующие биты информации для подключения к другим сценариям (.ps1) в качестве параметров, поскольку эти ресурсы предоставляются этим шаблоном. Спас бы кого-то копаться в портале для копирования / вставки.

Спасибо

1 ответ

Решение

Ваша ошибка происходит от listQueryKeys, а не от ключей администратора.

https://docs.microsoft.com/en-us/rest/api/searchmanagement/adminkeys/get
https://docs.microsoft.com/en-us/rest/api/searchmanagement/querykeys/listbysearchservice

вы не сможете получить их в шаблоне arm, он может только "эмулировать" POST-вызовы, а не GET

В последней версии API можно получить ключ запроса, используя это:

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