【问题标题】:How to save excel file to amazon s3 from python or ruby如何将excel文件从python或ruby保存到amazon s3
【发布时间】:2015-01-27 21:59:31
【问题描述】:

是否可以创建一个新的 excel 电子表格文件并将其保存到 Amazon S3 存储桶而无需先保存到本地文件系统?

例如,我有一个 Ruby on Rails Web 应用程序,它现在使用 write_xlsx gem 生成 Excel 电子表格并将其保存到服务器的本地文件系统。在内部,当它 saves 电子表格时,gem 似乎正在使用 Ruby 的 IO.copy_stream。如果迁移到 Heroku 和 S3,我不确定这是否可行。

在使用 Ruby 甚至 Python 之前,有没有人这样做过?

【问题讨论】:

    标签: python ruby-on-rails ruby heroku amazon-s3


    【解决方案1】:

    我发现了这个较早的问题,Heroku + ephemeral filesystem + AWS S3。因此,使用 Heroku 似乎是不可能的。理论上,可以使用允许添加Amazon EBS 的服务。

    【讨论】:

      【解决方案2】:

      您有专门的 Ruby Gem 来帮助您将文件移动到 Amazon S3:

      https://rubygems.org/gems/aws-s3

      如果您想了解有关实现的更多详细信息,here 是 git 存储库。页面上的文档非常完整,并解释了如何将文件移动到 S3。希望对您有所帮助。

      创建 xls 文件后,库会帮助您创建 S3Objects 并将其存储到存储桶中(您也可以使用库创建)。

      S3Object.store('keyOfYourData', open('nameOfExcelFile.xls'), 'bucketName')
      

      如果您想要更多选择,亚马逊还为此提供了官方 Gem:https://rubygems.org/gems/aws-sdk

      【讨论】:

      • 好的,但是以我对Heroku的理解,excel文件无法保存到文件系统中。使用 write_xlsx gem,关闭工作簿会将文件保存到磁盘。如何使用 Heroku 和 S3 实现这一点?
      猜你喜欢
      • 2013-03-02
      • 2017-10-08
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-03
      • 2011-10-07
      • 2015-07-19
      • 1970-01-01
      相关资源
      最近更新 更多