微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在API管理中禁用响应缓冲并强制立即刷新?

如何解决如何在API管理中禁用响应缓冲并强制立即刷新?

我有一个http触发的Azure函数,其罐头响应返回json对象的集合。每10个对象刷新一次响应,间隔2秒。

直接将此端点调用函数时,我立即收到刷新的响应,没有缓冲-10个完整对象,延迟2秒。

当我通过Azure的APIM调用此终结点时,不再立即刷新响应。我得到了部分对象,响应似乎是碰到了一个缓冲区,该缓冲区仅在特定时间或大小后才会刷新。

如何强制APIM不缓冲响应?

解决方法

forward request时,设置buffer-request-body="false"将禁用缓冲区请求。

<forward-request timeout="time in seconds" follow-redirects="false | true" buffer-request-body="false" fail-on-error-status-code="false | true"/>

此外,请勿使用<set-body>策略。 set-body的内部文本在内存流中缓冲并传递给接收者。

,

我能够从Microsoft获得关于未记录属性的响应,以禁用响应缓冲。尚未对此进行广泛测试,但似乎可行。

<backend>
   <forward-request buffer-response="false" />
</backend>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。