1

我正在开发一个运行在 Heroku 堆栈上的 Rails Web 应用程序,该应用程序处理一些附加到 Rails 数据库对象的文档。即假设我们有一个名为product_iclass/table的对象Product/products,并且product_i_prospectus.pdf是关联的产品说明书,其中每个产品都有一个说明书。

由于我正在研究 Heroku,因此没有 root 访问权限,因此我计划使用 Amazon S3 来存储与product_i. 到目前为止,一切都很好。

现在假设这product_i_attributes.txt也是我要上传的一个文件,并且我确实想根据文件中的信息实际填写product_i对象中的信息(即表中对应的行product_iproduct_i_attributes.txt

一句话:我想根据上传到我的 S3 存储桶的静态文本文件的内容来创建或更改数据库对象。

严格来说,一旦它们在存储桶中,我实际上不必能够访问它们,我只需要从文本文件中创建一些东西。

4

2 回答 2

0

I have done something similar with csv files. I would not try to process the file directly at upload as it can be resource intensive.

My solution was to upload the file to s3 and then call a background job method(delayed_job, resque, etc.) that processed the csv after upload. You could then call a delete after the job processed to remove the file from s3 if you no longer needed it after processing.

For Heroku this will require that you add a worker (if you don't already have one) to process the background jobs that will process the text files.

于 2012-10-27T02:25:32.637 回答
0

看看aws-sdk-for-ruby gem。这将允许您访问您的 S3 存储桶。

于 2012-10-26T22:17:37.273 回答