You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Azure APIM自定义域端点中移除Function App名称?

解决Azure APIM移除Function App名称后资源找不到的问题

问题根源

你配置<rewrite-uri template="/x/y/{z}/get" />时,APIM会将请求转发到https://myFunctionApp.azurewebsites.net/x/y/{z}/get,但你的Function App实际接收的路径需要带/api前缀(即https://myFunctionApp.azurewebsites.net/api/x/y/{z}/get),缺少前缀导致资源找不到。

正确配置步骤

1. 调整API基础路径

在APIM中创建或编辑对应Function App的API时,将基础路径设为/(空路径),而非默认的Function App名称myFunctionApp。这样APIM的端点就会以https://my-apim-name.azure-api.net/为根,匹配你期望的路径格式。

2. 配置正确的重写规则

针对/x/y/{z}/get操作,修改rewrite-uri模板,补上Function App要求的/api前缀:

<rewrite-uri template="/api/x/y/{z}/get" />

如果需要批量处理多个路由,可通过动态变量自动捕获请求路径,避免逐个配置:

<rewrite-uri template="/api/{request-url-path}" />

该配置会自动将APIM接收的路径加上/api前缀,转发到Function App对应路径。

3. 验证Function App路由配置

确认Function App的host.json中routePrefix为默认的api(若自定义过前缀,需同步调整重写规则中的前缀),示例配置:

{
  "extensions": {
    "http": {
      "routePrefix": "api"
    }
  }
}

额外注意事项

  • 映射多个Function App到同一APIM域名时,需为每个App创建独立API,通过不同的基础路径或操作路径区分,避免路由冲突。
  • 配置完成后,可通过APIM测试控制台发送请求,检查转发的URL是否正确指向Function App的完整路径,排查路径拼接问题。

内容的提问来源于stack exchange,提问作者EnenDaveyBoy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 12:22:07