使用CURL获取AML Token时遭遇API版本2022-05-01不支持错误
问题分析与解决
核心问题原因
CURL命令语法错误
你使用的-d POST是错误用法:-d参数用于传递请求体数据,而指定HTTP请求方法需要用-X POST。这个错误会导致请求被服务器错误解析,甚至被重定向到不支持2022-05-01API版本的内部端点(即错误信息中的cert-eastus2.experiments.azureml.net)。API版本不兼容
获取AML在线端点Token的接口不支持2022-05-01版本,该接口需要使用更高的API版本(如2023-04-01-preview或稳定版2024-01-01)。
修正后的CURL命令
# 修正请求方法参数,并更新API版本 curl -X POST --header "Authorization: Bearer $token" "https://management.azure.com/subscriptions/{subcri id}/resourceGroups/{res_grup}/providers/Microsoft.MachineLearningServices/workspaces/{workspace}/onlineEndpoints/{endpoint}/token?api-version=2023-04-01-preview"
补充说明
- 你通过
az account get-access-token获取的Token是正确的(Postman能正常运行验证了这一点),无需调整获取Token的命令。 - Postman能成功是因为你在Postman中正确配置了POST请求方法,并且使用了兼容的API版本,而CURL命令的参数错误导致了请求异常。
内容的提问来源于stack exchange,提问作者Onki
相关产品推荐
相关产品推荐

