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

Azure APIM配置URL模板参数路由至Function后端404问题求解

问题根因

Azure APIM默认会将前端请求的完整路径直接追加到后端服务地址后转发,你前端路径中的/123被自动拼接到了Azure Function的地址后面,而你的Function没有配置对应路径参数的路由,因此返回404错误。

解决方案

最直接的处理方式是在入站策略中新增rewrite-uri配置,重写转发到后端的请求路径,去掉不需要的路径参数部分,修改后的入站策略如下:

<inbound>
    <base />
    <set-query-parameter name="productId" exists-action="override">
        <value>@(context.Request.MatchedParameters["productId"])</value>
    </set-query-parameter>
    <!-- 重写后端请求路径,template值替换为你Function实际的触发路径 -->
    <rewrite-uri template="/api/product-function" copy-unmatched-params="false" />
    <set-backend-service id="apim-generated-policy" backend-id="product-function" />
</inbound>

配置说明:

  • template字段填写后端Function实际可以正常访问的路径,不需要携带{productId}参数
  • copy-unmatched-params设为false,避免未匹配的路径参数被自动追加到后端路径中

配置完成后,后端Function收到的请求地址会变为https://my-function.azurewebsites.net/api/product-function?productId=123,即可正常返回结果。

备选方案

你也可以直接在APIM的API操作配置界面,将该接口对应的后端操作路径模板设置为/product-function(不包含{productId}参数),无需修改策略也可以实现同样的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:45:04