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



我有一个http触发的Azure函数,它有一个返回json对象集合的固定响应。每10个对象刷新一次响应,其间有2秒的延迟。

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

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

如何强制APIM不缓冲响应?

我能够从Microsoft获得对未记录属性的响应,以禁用响应缓冲。尽管还没有对此进行广泛的测试,但似乎奏效了。

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

当您转发请求时,设置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>策略。集合正文的内部文本被缓冲在内存流中,并传递给收件人。

相关内容

  • 没有找到相关文章

最新更新