【发布时间】:2016-09-17 02:11:03
【问题描述】:
我目前正在使用名为 s3-upload-stream 的 node.js 插件将非常大的文件流式传输到 Amazon S3。它使用多部分 API,并且在大多数情况下运行良好。
但是,这个模块已经过时了,我已经不得不对其进行修改(作者也已弃用它)。今天又遇到了亚马逊的问题,很想采纳作者的建议,开始使用官方的aws-sdk来完成我的上传。
但是。
官方 SDK 似乎不支持到s3.upload() 的管道。 s3.upload 的本质是您必须将可读流作为参数传递给 S3 构造函数。
我有大约 120 多个执行各种文件处理的用户代码模块,并且它们不知道其输出的最终目的地。引擎交给他们一个可管道的可写输出流,然后他们通过管道传输给它。我不能给他们一个AWS.S3 对象并要求他们在不向所有模块添加代码的情况下调用upload()。我之所以使用s3-upload-stream,是因为它支持管道。
有没有办法让 aws-sdk s3.upload() 可以通过管道将流传输到?
【问题讨论】:
标签: node.js amazon-web-services amazon-s3 node-streams