如何将 excel 文件从 python 或 ruby 保存到 amazon s3

How to save excel file to amazon s3 from python or ruby

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

例如,我在 Rails 网络应用程序上有一个 Ruby,它现在使用 write_xlsx gem and saving it to the server's local file system. Internally, it looks like the gem is using Ruby's IO.copy_stream when it saves 电子表格生成 Excel 电子表格。如果迁移到 Heroku 和 S3,我不确定这是否有效。

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

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

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

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

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

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

如果你想要更多的选择,亚马逊也为此送上了官方Gem:https://rubygems.org/gems/aws-sdk

我发现了这个较早的问题,Heroku + ephemeral filesystem + AWS S3. So, it would seem this is not possible using Heroku. Theoretically, it would be possible using a service which allows adding an Amazon EBS