ruby-on-rails - 从 S3 下载文件到 Rails 4 应用程序

标签 ruby-on-rails ruby ruby-on-rails-4 amazon-web-services amazon-s3

我有一个运行日常任务并生成多个文件的 AWS 虚拟机。我希望我的 Rails 应用程序下载这些文件并将它们放在应用程序内的文件夹中。 Ruby 中是否有可以执行此操作的 gem 或方法?

我知道如何使用 s3cmd 在 bash 中执行此操作,我想我可以创建一个脚本来以这种方式获取它们,但正在寻找一种更原生的 Rails 方式。

我正在为应用程序使用这些文件中的数据,但我不希望用户能够下载它们。

最佳答案

aws-sdk v2 gem 为从 Amazon S3 下载对象提供了一个简单的界面。

require 'aws-sdk'

s3 = Aws::S3::Resource.new(
  region: 'us-east-1',
  access_key_id: '...',
  secret_access_key: '...'
)

s3.bucket('bucket-name').object('key').get(response_target: '/path/to/file')

关于ruby-on-rails - 从 S3 下载文件到 Rails 4 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30179444/

相关文章:

ruby-on-rails - ruby on Rails 3.1 网页设计

ruby-on-rails - 能够处理 rar/tar/zip/7z 的 Ruby/rubyzip 替代方案?

arrays - 在 ruby​​ 中对数组的每 3 个元素求和

ruby - 如何在 crontab 中测试东西

mysql - ActiveRecord::StatementInvalid: Mysql::Error: 'user_id' ruby​​ 固定装置中的未知列 'field list'

javascript - 从 AngularJS 在 Rails 中创建记录

ruby-on-rails - 检测 PostgreSQL json 字段的变化

Mysql2::Error:只能有一个自动列,并且必须将其定义为键

ruby-on-rails - 在rails中下载动态生成的大文件

ruby-on-rails - Rails4 : How to validate image size uploaded by carrierwave?