如何解决Azure ML Studio中服务健康但测试调用返回BadGateway错误
Azure ML Designer实时端点BadGateway报错解决方案
报错信息:Deploy: Service status is healthy, but test call return 'BadGateway'
1. 输入格式校验
- 首先核对端点自动生成的
swagger.json定义的输入字段名、数据类型、字段顺序,和调用传入的payload完全匹配,Designer推理接口对输入格式要求严格,字段存在多余空格、数据类型不匹配(如数值型字段传入字符串)都会触发BadGateway - 优先使用Azure ML门户端点页的测试功能提交官方示例的标准输入,不要自行构造payload,先排除外部调用的格式问题
2. 推理管线配置检查
- 回到已发布的推理管线,确认
Web服务输入模块直接对接训练管线的数据集输入特征链路,不能遗漏任何数据预处理步骤 - 确认
Web服务输出模块仅连接到最终预测输出模块,不要额外对接中间节点 - 重新运行完整推理管线,所有模块无警告、无报错后重新发布端点,不要复用旧的发布配置
3. 计算资源排查
- 检查部署端点使用的计算实例/ACI/AKS配置,最低要求为2核4GB内存,基础模型也至少需要1核2GB配置,资源不足会导致服务进程看似正常但无法处理请求
- 进入端点的部署日志页,搜索
error、exception关键词,若出现OutOfMemoryError、process exited with code 137报错,直接扩容计算资源后重新部署
4. 推理环境依赖修复
- Designer默认生成的推理环境可能存在依赖包版本冲突,可手动修改配置修复:
- 打开端点的环境标签页,复制默认conda配置
- 新增依赖版本锁定:
azureml-defaults==1.52.0、inference-schema==1.5.0 - 用修改后的配置创建新环境,再重新部署端点
- 不要使用预览版Azure ML运行时组件,切换到正式版SDK/V2接口重新发布
5. 临时验证方案
- 若以上步骤都无法解决,删除现有实时端点,改用批量推理端点运行验证模型可用性,确认模型本身无问题后,切换到其他可用区的计算资源重新部署实时端点
内容的提问来源于stack exchange,提问作者Mo Rehman
相关产品推荐
相关产品推荐

