当创建Ruby的Zlib::GzipReader
时,应传入一个类似于IO的对象(必须有一个与IO#read
相同的读取方法)。
我的问题在于我无法从AWS::S3
库中获取这个类似于IO的对象。据我所知,唯一获得它的流的方法是将一个块传递给S3Object#stream
。
我已经尝试过:
Zlib::GzipReader.new(AWS::S3::S3Object.stream('file', 'bucket'))
# Wich gaves me error: undefined method `read' for #<AWS::S3::S3Object::Value:0x000000017cbe78>
有人知道我该如何实现吗?
gz.gets
替换gz.read(CHUNK_SIZE)
来读取整行。http://www.ruby-doc.org/core-2.1.2/IO.html#method-i-gets - Patrick OscityThread.new
但只能使用fork
? - gfpacheco