Переименование подписки Azure с помощью REST заканчивается в BadRequest 400

#azure #powershell #rest

#azure #powershell #rest

Вопрос:

Я получаю 400 BadRequest и понятия не имею, почему:

 $RestBody = @{
    "foo" = "bar"
}
$Header = @{
    "Authorization" = "Bearer $CachedAccessToken"
}
$ApiVersion = "api-version=xxx"
$restURI = "https://myURL?$ApiVersion"
    
Invoke-RestMethod -Headers $Header `
    -Uri $restURI `
    -Method POST ` # Not PUT!
    -ContentType application/json `
    -Body ($RestBody | ConvertTo-Json)
  

Заголовок и метод верны и проверены дважды. Даже URL-адрес проверяется дважды.

 System.Net.WebException: The remote server returned an 
    
error: (400) Bad Request.
    
at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(WebRequest request)
    
at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord()!
    
  CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    
  FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException
  

Комментарии:

1. Вы уверены $Header = "Bearer MYSECRET" , что этого не должно быть $Header = @{ Authorization = "Bearer MYSECRET"} ?

2. @MathiasR.Jessen Вы правы. Я исправил свой пост. Но это уже было правильно в моем коде.

3. В вашем коде больше нет ничего явно неправильного, поэтому все сводится к конкретному API, о котором идет речь — если вы не можете поделиться тем, что это такое, боюсь, вам придется просто перечитать документацию или связаться с поставщиком 🙂

4. @MathiasR.Jessen API все еще находится в предварительном просмотре, но с моим местным почтальоном он будет работать. Я создал запрос в службу поддержки. Обновит результаты здесь.

Ответ №1:

Обнаружена проблема!

Если Azure-Subscription находится в «Состоянии предупреждения», появляется «Неверный запрос». Находится ли подписка в состоянии «Включить», это приводит к 200 OK .

введите описание изображения здесь

введите описание изображения здесь