我们正在将我们的服务迁移到 apigee,但遇到了一个问题。我们有一个返回大负载 (>55MB) 的服务,当我通过定义的 apigee 代理传递它时,它会返回:
{
"fault": {
"faultstring" : "Body buffer overflow",
"detail": {
"errorcode": "protocol.http.TooBigBody"
}
}
}
Run Code Online (Sandbox Code Playgroud)
是否有可用于避免这种情况的 apigee 政策和/或代理设置?
而且,不,流媒体不是一种选择。我们需要复制行为,因为我们希望迁移到 apigee 对我们的客户透明。
您应该尝试TargetEndpoint属性 response.streaming.enabled 。该属性将响应原封不动地传递给调用者,而无需将有效负载加载到消息缓冲区中。它不需要您使用任何类型的 HTTP 流。您将无法以任何方式编辑有效负载,但它应该可以正常通过。
禁止将非常大的负载加载到消息处理器的内存中,因为这可能会导致 Apigee Edge 出现内存问题。
| 归档时间: |
|
| 查看次数: |
2559 次 |
| 最近记录: |