我在Powershell Azure自动运行手册中使用了以下消耗量使用详细信息。
Get-AzureRmConsumptionUsageDetail -StartDate $startDate -EndDate $endDate -ResourceGroup
相同的命令和Runbook在另一个预订中可以正常工作。 但是在其中一项订阅中,它给出了以下错误
当前api版本不支持订阅范围用法。 请在2019-10-01之后使用api版本
如何在Azure Powershell中设置apiversion?
答案 0 :(得分:1)
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}
应该代替与用法详细信息操作关联的范围。您可以参考doc了解更多详情。