Командлет Get-AzureRmApplicationInsightsApiKey возвращает нулевой первичный ключ - PullRequest
0 голосов
/ 23 мая 2019

В настоящее время я работаю с AZURE Resources.Цель состоит в том, чтобы сгенерировать KEY API специального ресурса и получить доступ к этому ключу из powershell.

Сначала я запустил

New-AzureRmApplicationInsightsApiKey -ResourceId {RID}

, чтобы сгенерировать ключ API для моего ресурса.Я вручную проверил портал Azure, и ключ действительно был сгенерирован.

Затем я выполнил следующую команду, чтобы получить этот ключ API от powershell.

Get-AzureRmApplicationInsightsApiKey -ResourceId {RID}

Я получил желаемый результат(показано ниже), но API-ключ показывает нулевой или пустой.

ApiKey      : 

CreatedDate : Wed, 22 May 2019 23:36:40 GMT

Id          : 7c4c61dc-b392-4aa4-992f-ee92b84e5dee

Permissions : {ReadTelemetry}

Description : test1

Я могу получить доступ к API-ключу и его информации, но я не вижу ничего определенного для фактического ключа, он отображается пустым.Документы Microsoft, кажется, показывают тот же результат, но я не нашел способ показать значение ключа.

Мне нужно выяснить, как раскрыть и получить доступ к значению этого ключа.Я хочу сохранить этот ключ в объекте для доступа.

Я получаю нулевое значение для ключа, когда я делаю следующее.

$apikeyinfo= Get-AzApplicationInsightsApiKey -ResourceId {RID} 

$apikey = $apikeyinfo.ApiKey

1 Ответ

0 голосов
/ 23 мая 2019

Я могу воспроизвести вашу проблему. Кажется, вы не можете получить ключ после его создания. Если вы создадите ключ на портале, вы найдете его, как показано ниже. Azure не будет хранить ключ, после того как вы закроете этот клинок, вы больше не сможете его видеть.

enter image description here

Кроме того, это было упомянуто в официальном документе .

enter image description here

Итак, ваш обходной путь - сохранить apikey, когда он был создан, например, Out-File

$apikey = New-AzureRmApplicationInsightsApiKey -ResourceGroupName "joywebapp" -Name "joyinsight" -Description "testapiKey1" -Permissions @("ReadTelemetry", "WriteAnnotations")
$apikey.ApiKey | Out-File "C:\Users\joyw\Desktop\apikey.txt"

Или вы можете сохранить объект напрямую, а затем импортировать его, когда вам понадобится использовать его снова.

$apikey = New-AzureRmApplicationInsightsApiKey -ResourceGroupName "joywebapp" -Name "joyinsight" -Description "testapiKey2" -Permissions @("ReadTelemetry", "WriteAnnotations")
$apikey | Export-Csv "C:\Users\joyw\Desktop\apikey1.csv"

$key = Import-Csv "C:\Users\joyw\Desktop\apikey1.csv"
$key.ApiKey

Помимо , если вы хотите сохранить ключ локально, я рекомендую сохранить его в лазурном ключе, тогда вы можете извлечь ключ в хранилище ключей, более подробную информацию см. По этой ссылке .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...