节点AWS.S3 SDK上传超时

时间:2018-02-02 03:15:50

标签: amazon-s3 file-upload aws-sdk aws-sdk-js aws-sdk-nodejs

使用节点AWS SDK S3.upload方法由于某种原因未完成多部分上传。

从浏览器接收上传的可读流设置为Body(可读流可以通过管道传输到文件writableStream而没有任何问题)。

S3.upload被赋予以下选项对象:

{
  partSize: 1024*1024*5,
  queueSize: 1
}

当尝试上传~8.5mb的文件时,该文件完全从浏览器发送,但是从S3.upload返回的请求不断触发' httpUploadProgress'指示已上载所有字节的事件。不断收到以下内容,直到发生错误:

progress { loaded: 8832825,
  total: 8832825,
  part: 1,
  key: 'c82d3ef1-5d95-47df-aaa9-2cee48afd702' }
progress { loaded: 8832825,
  total: 8832825,
  part: 1,
  key: 'c82d3ef1-5d95-47df-aaa9-2cee48afd702' }
progress { loaded: 8832825,
  total: 8832825,
  part: 1,
  key: 'c82d3ef1-5d95-47df-aaa9-2cee48afd702' }

RequestTimeout: Your socket connection to the server was not read from
or written to within the timeout period. Idle connections will be
closed.

进度加载字段显示已加载总字节数,但上传永远不会完成。即使是可读流上的end事件也会触发。

SDK本身的控制台日志记录显示,即使部件大小设置为5mb且队列大小设置为1,S3.upload也会消耗可读流中的所有可用数据。

部件大小和队列大小是否会影响S3.upload的正确使用?如何进一步调查此问题?

0 个答案:

没有答案