【发布时间】:2020-12-10 18:01:54
【问题描述】:
我有一个托管在 Azure API 管理 (APIM) 实例后面的 OData 端点的 Azure 应用服务。为了防止直接调用应用服务,它受到只有 APIM 拥有的证书的保护。
当我通过 Chrome 或 Postman 调用 APIM URL 时,它的行为符合预期。只有一个请求,没有重定向或有趣的业务,它返回 OData 根。 Here is a Fiddler log of a request to the APIM using Postman
但是,当使用 OData.Feed() 在 Power Query 中使用与 OData 源相同的 URL 时,它会返回一个 301 转发到后端 URL,这显然会失败,因为该 URL 受证书保护。 Here is a Fiddler log of a request to the APIM using Power Query in Excel
我已将订阅密钥配置为在标头中传递,但我也尝试将其作为查询参数,但它在 Power Query 中都不起作用。我也尝试过直接使用 OData 实体端点(以避免 $metadata 调用),但没有成功。
Power Query 使用的用户代理是 Microsoft.Data.Mashup,但我没有找到任何关于它与 APIM 兼容性的文档,但这应该没关系,对吧?
【问题讨论】:
标签: azure azure-web-app-service odata powerquery azure-api-management