Создание приложений Azure Insights с использованием API REST не выполняется, требуется РОЛЬ - PullRequest
0 голосов
/ 20 сентября 2019

Я создаю ключ API для App Insight.Я использую URL "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys"

. У меня нет четкой документации, и я нашел ее в MS SDK: https://github.com/Azure/azure-sdk-for-net/blob/master/sdk/applicationinsights/Microsoft.Azure.Management.ApplicationInsights/src/Generated/APIKeysOperations.cs

Однако, когда я пытаюсь сгенерировать, упоминая«имя», в ответ приходит ошибка:

{
    "code": "The API Key needs to have a Role",
    "message": "The API Key needs to have a Role",
    "innererror": {
        "diagnosticcontext": "e1f66da1-9247-459e-a519-6426fa1449d1",
        "time": "2019-09-20T07:48:20.2634617Z"
    }
}

Мое тело POST выглядит следующим образом:

{
    "name": "asimplekeyname"
}

Пожалуйста, помогите, если кто-то использовал этот конкретный API.

1 Ответ

1 голос
/ 20 сентября 2019

Вам необходимо включить в тело следующие свойства.

{ 
   "name":"test3",
   "linkedReadProperties":[ 
      "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<appinsight-name>/api",
      "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<appinsight-name>/agentconfig"
   ],
   "linkedWriteProperties":[ 
      "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<appinsight-name>/annotations"
   ]
}

Эти три свойства соответствуют свойствам на портале -> ваше приложение -> API Access -> Create API key.

api - Read telemetry
agentconfig - Authenticate SDK control channel
annotations - Write annotations

Вам необходимо выбрать хотя бы один из них, включая тело запроса.

enter image description here


ДляНапример, вы просто выбираете первый, как показано ниже.

enter image description here

Тело должно быть:

{ 
   "name":"test3",
   "linkedReadProperties":[ 
      "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<appinsight-name>/api" 
   ],
   "linkedWriteProperties":[]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...