【发布时间】:2022-02-09 21:26:37
【问题描述】:
我在 AWS EC2 上部署了一个 Web 服务 (FastAPI)。
在java客户端代码中,当我调用api时,我得到了这个错误
org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 3,849,324; received: 1,834,837)
在邮递员中,当我调用这个 api 时,会返回响应但还不够像这张图片
似乎服务器(快速 API 网络服务)没有在响应正文中返回所有数据。
我已经检查了this的问题,接受的答案说这个错误属于服务器端。
那么这里的问题是什么?我可以配置什么来解决这个问题,在 AWS 或我的网络服务或任何?
附加信息,在 API 实现中,业务逻辑是连接到 AWS S3 并下载一些文件。我不知道是不是这个问题,但是当我寻找解决方案时,很多人说它与 AWS S3 相关
谢谢大家!!!
【问题讨论】:
-
问题是服务器发送了一个响应,指出响应长度是标头中的
3,849,324字节,但实际有效负载只有1,834,837字节,之后服务器关闭连接 - 至少是这样我明白了。 -
哦,我也明白。但是没有任何意义,呵呵。我不知道为什么会这样,然后我无法解决这个问题
-
你需要检查服务器端。
-
在填写响应数据之前,您是否检查过您是否正在返回响应?可能是时间问题?您可以测试以下内容。支持您的数据存储在 B 然后,首先,将该数据记录在云日志中的某个地方,然后返回。以便您可以跟踪该数据。
-
这可能是延迟和超时问题。检查 S3 的区域是否存在延迟和超时。或者,您可以尝试批量获取值。
标签: java amazon-web-services amazon-s3 fastapi