Vie*_*iet 4 json ruby-on-rails amazon-s3 amazon-web-services ruby-on-rails-3
在我的Rails 3应用程序上,我想将静态JSON数据导出到Amazon S3存储桶,稍后可以通过该应用程序的AJAX调用进行检索和解析。
JSON将从应用程序的数据库生成。
我的设计要求可能只需要诸如rake任务之类的操作,即可开始导出到S3。每次启动rake任务时,它将覆盖文件。优选地,文件名将对应于从其生成JSON数据的记录的ID号。
有没有人对此有任何经验,可以指出正确的方向?
这可以通过aws-sdk gem 来完成。
您的任务可以分为两个基本步骤:1)用您的json数据生成一个临时本地文件,2)上传到S3。一个非常基本的程序示例:
require 'aws-sdk'
# generate local file
record = Record.find(1)
file_name = "my-json-data-#{record.id}"
local_file_path = "/tmp/#{file_name}"
File.open(local_file_path, 'w') do |file|
file.write(record.to_json)
end
# upload to S3
s3 = AWS::S3.new(
:access_key_id => 'YOUR_ACCESS_KEY_ID',
:secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
bucket = s3.buckets['my-s3-bucket-key']
object = bucket.objects[file_name]
object.write(Pathname.new(local_file_path))
Run Code Online (Sandbox Code Playgroud)
查看S3Object文档以获取更多信息。
| 归档时间: |
|
| 查看次数: |
2218 次 |
| 最近记录: |