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

如何通过APIM暴露Azure Functions并实现指定URL路径且不使用空后缀

实现需求的两种可行方案

两种方案均无需将API URL后缀留空,不会影响后续其他API的正常添加。

方案1:全局入站路由重写 + API层路径重写(推荐)

  • 正常创建对接User Function App的API,将API URL后缀设置为userfunction,避免和后续其他API冲突。
  • 在该API下创建两个对应操作:
    • CreateUser:请求方法选POST,操作路径填写/v1/users
    • GetUsers:请求方法选GET,操作路径填写/v1/users
  • 进入APIM的全局策略配置页,在入站处理段添加如下策略,将所有路径匹配/v1/users的请求,转发到userfunctionAPI下:
<policies>
    <inbound>
        <base />
        <choose>
            <when condition="@(context.Request.OriginalUrl.Path.StartsWith("/v1/users"))">
                <set-backend-service backend-id="你绑定的User Function App对应的后端ID" />
                <rewrite-uri template="/userfunction{request.originalUrl.Path}" copy-unmatched-params="true" />
            </when>
        </choose>
    </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>
  • 进入userfunctionAPI的单独策略配置页,在入站处理段添加路径重写策略,将路径转换为后端Function实际的路由/users:
<inbound>
    <base />
    <rewrite-uri template="/users" copy-unmatched-params="true" />
</inbound>

注意:你可以在APIM的「后端」管理页面找到对应Function App的backend-id,替换为你实际的ID即可。

方案2:调整API路径层级规划

如果你的接口是按版本做统一路径划分的,可以直接把该API的URL后缀设置为v1,后续同版本的其他接口可以合并到该API下作为不同操作,不同版本的API可以设置后缀为v2、v3等。此时你只需要把两个操作的路径填写为/users,就能直接得到你需要的/v1/users访问路径,无需额外配置重写策略,适合路径规划清晰的场景。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 13:24:03