Установка версии Api в учетной записи автоматизации Azure с помощью powershell - PullRequest
1 голос
/ 10 июля 2020

Я использовал следующую информацию об использовании в PowerShell azure Automation Runbook.

Get-AzureRmConsumptionUsageDetail -StartDate $startDate -EndDate $endDate -ResourceGroup

Та же самая команда и Runbook отлично работают в другой подписке. Но в одной из подписок выдается следующая ошибка:

Использование объема подписки не поддерживается для текущей версии API. Пожалуйста, используйте версию API после 2019-10-01

Как установить apiversion в Azure Powershell?

1 Ответ

0 голосов
/ 14 июля 2020

Get-AzConsumptionUsageDetail не имеют параметра ApiVersion.

Мое решение - использовать команду ниже. Сначала получите токен со своей учетной записью, а затем запросите API , чтобы получить сведения об использовании. api-version - это 2019-10-01, о чем упоминалась ошибка.

# login
Connect-AzAccount

# get accessToken
$resource = "https://management.azure.com"
$context = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext
$accessToken = [Microsoft.Azure.Commands.Common.Authentication.AzureSession]::Instance.AuthenticationFactory.Authenticate($context.Account, $context.Environment, $context.Tenant.Id.ToString(), $null, [Microsoft.Azure.Commands.Common.Authentication.ShowDialog]::Never, $null, $resource).AccessToken

#request REST API
$uri = "https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?api-version=2019-10-01"
Invoke-RestMethod -Method 'Get' -Uri $uri -Headers @{ Authorization = "Bearer " + $accessToken }

{scope} должно быть вместо области, связанной с операциями с подробностями использования. Вы можете обратиться к do c для получения более подробной информации.

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