如何在APIM策略中集成Azure Function?配置后无结果求助
Azure Function 集成APIM的正确策略配置
你的配置存在几个关键问题,导致集成失败,下面是修正后的方案:
核心错误分析
Content-Type是请求头,不是查询参数,不能用set-query-parameter处理x-functions-key同样是请求头,而非查询参数base-url缺少协议前缀(https://),APIM无法正确识别后端地址
修正后的策略配置
将以下配置放在APIM的inbound策略段中:
<inbound> <base /> <!-- 设置后端服务地址,必须带https协议 --> <set-backend-service id="apim-generated-policy" base-url="https://fun.azurewebsites.net/api/httpexample" /> <!-- 设置Content-Type请求头 --> <set-header name="Content-Type" exists-action="override"> <value>application/json</value> </set-header> <!-- 设置Azure Function的访问密钥请求头 --> <set-header name="x-functions-key" exists-action="override"> <value>xyz</value> </set-header> </inbound>
额外注意事项
- 确保
x-functions-key的值是Azure Function的有效访问密钥(可在Function App的密钥页面获取) - 若需要在APIM中动态获取密钥,可将密钥存储在APIM的命名值中,用
{{命名值名称}}引用,避免硬编码 - 测试时可通过APIM的测试控制台查看请求详情,确认头信息和后端地址是否正确传递
内容的提问来源于stack exchange,提问作者Vara Lakshmi
相关产品推荐
相关产品推荐

