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

如何在APIM中绑定Azure Function处理后端服务的响应数据

在APIM中集成Azure Function处理后端响应的实现步骤

你可以通过APIM的策略系统,在后端返回响应后调用Azure Function完成JSON格式重构,具体操作如下:

1. 将Azure Function导入APIM后端列表

  • 登录你的APIM实例,左侧菜单选择「后端」,点击「+添加」
  • 类型选择「Azure Function」,在弹出的列表中找到你创建的JSON格式化函数,完成导入。如果Function需要密钥验证,记得保存对应的访问密钥。

2. 配置API操作的响应处理策略

找到需要处理的那个GET端点操作,进入「设计」标签页,在「后端响应」后的策略编辑区添加以下逻辑:

核心策略代码示例

<policies>
    <inbound>
        <!-- 保留你原有的入站策略(如认证、参数校验等) -->
    </inbound>
    <backend>
        <!-- 保留原有的后端调用逻辑,向目标服务发送GET请求 -->
        <base />
    </backend>
    <outbound>
        <!-- 调用Azure Function处理后端返回的JSON -->
        <send-request mode="new" response-variable-name="formattedResult" timeout="30" ignore-error="false">
            <set-url>@("https://your-function-app-name.azurewebsites.net/api/your-function-endpoint?code=your-function-access-key")</set-url>
            <set-method>POST</set-method>
            <set-header name="Content-Type" exists-action="override">
                <value>application/json</value>
            </set-header>
            <set-body>@(context.Response.Body.As<string>())</set-body>
        </send-request>
        <!-- 将Function返回的格式化结果设置为最终响应 -->
        <set-body>@(((IResponse)context.Variables["formattedResult"]).Body.As<string>())</set-body>
        <!-- 可选:重置响应Content-Type头 -->
        <set-header name="Content-Type" exists-action="override">
            <value>application/json</value>
        </set-header>
        <base />
    </outbound>
    <on-error>
        <!-- 可选:添加错误处理逻辑,比如Function调用失败时返回原始响应或自定义错误 -->
        <base />
    </on-error>
</policies>

关键注意事项

  • 确保你的Azure Function是HTTP触发,并且支持POST请求(因为我们需要把后端的JSON响应作为请求体传递给Function)
  • 替换示例中的Function URL和访问密钥为你自己的实际信息
  • 如果后端返回的JSON体积较大,适当调整send-request的timeout参数,避免请求超时
  • 可以在on-error阶段添加 fallback 逻辑,比如当Function调用失败时,直接返回后端原始响应,提升服务可用性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:57:27