这里的 Node.js 开发人员必须使用 Ruby,所以我对 Ruby 中的很多概念都很陌生,可以使用一些帮助。
我的用例是我必须从 S3 下载非常大的以换行符分隔的 JSON 文件,转换数据,然后将其放回 S3,所有这些都在内存中,而无需将任何内容写入磁盘。
在 Node 中,我可以这样做:
s3DownloadStream('my-file').pipe(transformStream).pipe(backToS3Stream)
这将在对象进入时即时转换对象并将它们同时放入 S3。
我很难找到一个好的行动计划来在 Ruby 中实现同样的行为。我已经看到 IO.pipe 和 Celluloid::IO 作为可能的选项,但它们似乎仍然不太可能做到这一点。