尝试在 powershell runbook Azure 自动化帐户中调用 API 时出现错误 499

Getting error 499 when attempting to call API within a powershell runbook Azure automation account

提问人:Michael Shepard 提问时间:11/2/2023 最后编辑:Santiago SquarzonMichael Shepard 更新时间:11/2/2023 访问量:82

问:

当我尝试在 powershell runbook 中调用 Azure API 时,收到错误 499 响应。我假设存在超时问题。如果是这样,我应该在代码中采取哪些步骤来防止超时发生?代码如下:

$uri = "https://xxxxxxxx-xxxxxxxx-prod-api.azurewebsites.net/api/PortfolioExport?PortfolioBatchDate=9/9/9999"
$tenantId = "xxxxxxxx-xxxx-xxxx-xxxx-7181039d1ed4"
$clientId = "xxxxxxxxxxxx-xxxx-xxxx-xxxx-5268b21e2920"
$clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxx~~U7n06yxQlc49"
$resource = "https://xxxxx.com/xxxxx.riskanalysis.app"

$tokenEndpoint = "https://login.microsoftonline.com/$tenantId/oauth2/token"
$body = @{
     grant_type = "client_credentials"
     client_id = $clientId
     client_secret = $clientSecret
     resource = $resource
     audience = $resource # Specify the audience parameter here
 }
 $response = Invoke-RestMethod -Method Post -Uri $tokenEndpoint -Body $body
 $accessToken = $response.access_token

 $headers = @{
     Authorization = "Bearer $accessToken"
 }

 Invoke-RestMethod -Method POST -Uri $uri -Headers $headers
Azure PowerShell azure-runbook

评论

0赞 Santiago Squarzon 11/2/2023
相同的代码是否在自动化 Runbook 之外工作?顺便说一句,你真的应该考虑使用密钥保管库,而不是对机密进行硬编码......
0赞 Michael Shepard 11/2/2023
感谢您的回复....不,我在 Runbook 之外尝试时也会遇到同样的错误。我在同一个 Runbook 中调用此 API 调用,并在 Azure SQL 数据库中运行存储过程。但是,即使我尝试单独调用API,也会遇到相同的错误。我同意密钥保管库。这就是我一直在推动我们的开发团队开始使用的东西。我刚刚接到的任务是使用他们的 API 来运行报告,一旦我让代码正常工作,我就会过渡到密钥保管库。
0赞 Santiago Squarzon 11/2/2023
我们在这里无能为力,您需要对此进行故障排除,以便管理该 API。您可以在此处阅读错误代码 499 的含义:webfx.com/web-development/glossary/http-status-codes/...xxxxxxxx-xxxxxxxx-prod-api.azurewebsites.net
0赞 Jahnavi 11/6/2023
你试过设置命令吗?@MichaelShepardStart-Sleep

答: 暂无答案