ruby-on-rails - 从 AWS S3 Bucket 获取数据文件并在 Rails 中解析?
问题描述
我正在 Rails 中创建一个 Ruby 脚本,它将:
1)使用 AWS S3 SDK 创建一个 S3 对象 2)遍历存储桶并下载(获取)每个文件 3)通过迭代,将文件存储在内存中,然后转换为字符串 4)解析字符串以获取数据并重新上传基于解析数据的文件到同一存储桶中的适当文件夹
所以到目前为止我在 Rails 工作中的代码:
def aws_get
io = IO.new(1)
bucket_col = []
s3 = Aws::S3::Resource.new(region: 'us-east-1', access_key_id: Rails.application.credentials.dig(:aws, :access_key_id), secret_access_key: Rails.application.credentials.dig(:aws, :secret_access_key))
s3.bucket('missouridata').objects.each do |object|
obj = s3.bucket('missouridata').object(object.key)
file = obj.get(response_target: io)
???
end
end
问号是我不知道下一步该做什么的地方。如何获取存储在内存中的文件并将其转换为要解析的字符串?
解决方案
我为你准备了完美的解决方案。我一直在使用雾宝石来操作 S3 存储桶一段时间。它几乎可以为您做任何事情。
这是参考链接。
https://www.ironin.it/blog/manipulating-files-on-amazon-s3-storage-with-rubys-fog-gem.html
推荐阅读
- python - scipy 统计分布文档
- azure-service-fabric - Service Fabric - 无需更改代码即可部署新版本的应用
- python - 使用 pandas 和 json_normalize 扁平化嵌套的 JSON API 响应
- c# - 检查应用程序是否未在其他用户帐户 c# 上运行
- python - Python API 调用 Random.org
- image - 导出 NativeScript UI 图表数据
- c - 用字符串动态填充字符数组
- ios - iOS Ionic Okta 登录问题 - NSURLConnection 代码 1004
- javascript - 预加载器在加载时不会停止
- java - 如何从列表视图传递记录的ID