Azure APIM作为转发代理

问题描述 投票:0回答:1

我正在寻找有关使用Azure APIM作为后端服务(例如功能应用程序或逻辑应用程序)与外部客户端之间的前向代理的设计指导。

我们有一个功能应用程序,可以处理来自大型机系统的发票请求(针对先前下达的订单),进行一些转换,然后通过HTTP将其发送给外部方。我在发送过程中有两个选择。

  1. 将外部HTTP终结点存储为功能应用程序中的应用程序设置,并让功能应用程序发送转换后的消息直接发送给外部方。

  2. 将转换后的消息发送到Azure APIM,并将外部HTTP端点设置为后端服务(使用set-backend-service APIM策略,然后让APIM将其转发给外部方。

现在,如果仅从安全或操作的角度出发将请求转发给外部方,则第二种方法有什么真正的好处?不需要丰富传出消息(添加或删除头,修改消息正文等)。

个人,我所看到的只是第二种方法的一跳。但是我的一些队友似乎认为第二种方法可以在分析方面提供一些好处。 APIM->“分析”选项卡下有一些度量标准,可让您查看成功,失败的请求等的数量。但是我认为与功能应用程序绑定的Application Insights也可以使用此信息。

只想了解有关此方面的一些见解,以便我们可以做出明智的决定。

azure azure-functions azure-api-management
1个回答
0
投票

我想在您的情况下,使用Azure API Management可能是一项过度设计,假设Azure Function仅将成为Azure API Management实例的调用者。

尽管Azure API管理提供了分析,URL重写,转换,分析等-在您使用它来管理API时更有意义。问自己一个问题,您的情况将充分利用多少个Azure API管理功能。

请记住,通过设计记住Azure API是一种API治理工具,您可以在其中执行调节,通过使用单独的订阅密钥向不同的第三方提供对API的访问权,从而使您的API获利。我认为,Azure API管理已成为您需要向一些第三方应用程序分发一些API的场景,这显然不是您的情况。

© www.soinside.com 2019 - 2024. All rights reserved.