使用apigee代理返回大额有效负载

时间:2014-02-14 14:43:08

标签: apigee

我们正在将我们的服务迁移到apigee,我们遇到了一个问题。我们有一个返回大型有效负载(> 55MB)的服务,当我通过定义的apigee代理传递它时,它会返回:

{ 
  "fault": { 
    "faultstring" : "Body buffer overflow",
    "detail": {
      "errorcode": "protocol.http.TooBigBody"
    }
  }
}

我可以使用apigee策略和/或代理设置来避免这种情况吗?

而且,不,流媒体不是一种选择。我们需要复制行为,因为我们希望迁移到apigee对我们的客户透明。

1 个答案:

答案 0 :(得分:3)

您应该尝试TargetEndpoint属性response.streaming.enabled。该属性将响应传递给调用者,而不将有效负载加载到消息缓冲区中。它不要求您使用任何类型的HTTP流。您将无法以任何方式编辑有效负载,但它应该通过罚款。

禁止在消息处理器中将非常大的有效负载加载到内存中,因为它可能导致Apigee Edge出现内存问题。