ruby - 如何从s3读取文件?

标签 ruby ruby-on-rails-3

我正在尝试直接从 s3 读取 CSV 文件。

我正在获取 s3 URL,但我无法打开它,因为它不在本地系统中。我不想下载文件并阅读它。

有没有其他方法可以实现这一目标?

最佳答案

有几种方法,具体取决于您使用的 gem 。例如,官方 documentation 的方法之一:

s3 = Aws::S3::Client.new
resp = s3.get_object(bucket:'bucket-name', key:'object-key')

resp.body
#=> #<StringIO ...> 

resp.body.read
#=> '...'

或者,如果您使用的是 CarrierWave/Fog:
obj = YourModel.first
content = obj.attachment.read

关于ruby - 如何从s3读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24958162/

相关文章:

ruby-on-rails - 未定义的方法和错误的序列化以及 lion 上的延迟作业

mysql - ' rake 数据库:drop' does not work

ruby-on-rails - 如何在 Ruby 中将时间整数转换为日期?

ruby - 识别空格与其他字符在字符串中运行

ruby - 是否有任何 ruby​​ VM 是使用 LLVM 工具链完成的?

ruby - 如何在 Windows 上更改文件权限?

ruby-on-rails-3 - 主干模型获取错误消息

ruby-on-rails - 具有哈希对的 Ruby 数组?

ruby-on-rails - Rails 4 - 删除 sqlite3 gem - "Detected sqlite3 gem which is not supported on Heroku"

ruby-on-rails - rails : difference between attr_accessor and attr_accessible