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