Azure翻译API接入VNET后返回404资源未找到问题求助
解决Azure翻译API VNET环境下404错误的常见排查方向
确认认知服务端点正确性
检查{MYDOMAIN}是否为翻译资源的有效端点前缀——默认格式是https://<翻译资源名称>.cognitiveservices.azure.com,别混淆资源组名或其他无关信息。同时验证资源部署区域和端点区域一致,跨区域访问可能触发404。排查VNET子网间的流量规则
- 应用服务所在子网的NSG需放行HTTPS(443端口)的出站流量到翻译服务所在子网,即使同属一个VNET,NSG的默认规则可能限制跨子网访问。
- 翻译服务的VNET防火墙必须将应用服务子网加入允许列表,认知服务在VNET限制下,未授权的子网请求会返回404而非403。
- 检查子网关联的路由表,确保没有自定义路由将请求导向无效网关,导致流量无法抵达翻译服务。
验证翻译资源状态
登录Azure门户确认翻译资源处于正常运行状态,无暂停或异常提示。如果使用的是多服务认知资源,需确认翻译功能未被禁用。校验请求本身的细节
- 在应用服务所在子网内用curl或Postman直接发起请求,排除代码层面的问题:
curl -X POST "https://{MYDOMAIN}.cognitiveservices.azure.com/translate?api-version=3.0&to=it" \ -H "Ocp-Apim-Subscription-Key: {你的订阅密钥}" \ -H "Content-Type: application/json" \ -d "[{'Text':'Hello world'}]" - 确认请求头中的订阅密钥或Bearer令牌有效,密钥过期/错误也可能被认知服务以404响应(出于资源安全的隐藏策略)。
- 在应用服务所在子网内用curl或Postman直接发起请求,排除代码层面的问题:
内容的提问来源于stack exchange,提问作者Ali Ahmad
相关产品推荐
相关产品推荐

