1

私は、Herokuスタックで実行されているRails Webアプリケーションに取り組んでいます。このアプリケーションは、Railsデータベースオブジェクトに添付されているいくつかのドキュメントの管理を処理します。product_iつまり、class / tableというオブジェクトがProduct/productsありproduct_i_prospectus.pdf、関連する製品の目論見書であり、各製品には単一の目論見​​書があるとします。

私はHerokuに取り組んでおり、rootアクセス権がないため、AmazonS3を使用してに関連付けられた静的リソースを保存する予定product_iです。ここまでは順調ですね。

これproduct_i_attributes.txtもアップロードしたいファイルであり、実際にファイル内の情報に基づいて、product_iオブジェクト(つまり、に対応するテーブルの行product_i)に情報を入力したいとしますproduct_i_attributes.txt

一言で言えば、S3バケットにアップロードされた静的テキストファイルのコンテンツに基づいて、データベースオブジェクトを作成または変更したいと思います。

厳密に言えば、バケツに入った後は実際にそれらにアクセスできる必要はありません。テキストファイルからいくつかのものを作成する必要があります。

4

2 に答える 2

0

aws-sdk-for-rubygemを見てください。これにより、S3バケットにアクセスできるようになります。

于 2012-10-26T22:17:37.273 に答える
0

私はcsvファイルで同様のことをしました。リソースを大量に消費する可能性があるため、アップロード時にファイルを直接処理しようとはしません。

私の解決策は、ファイルをs3にアップロードし、アップロード後にcsvを処理するバックグラウンドジョブメソッド(delayed_job、resqueなど)を呼び出すことでした。次に、ジョブの処理後にdeleteを呼び出して、処理後にファイルが不要になった場合にs3からファイルを削除できます。

Herokuの場合、これには、テキストファイルを処理するバックグラウンドジョブを処理するためのワーカー(まだ持っていない場合)を追加する必要があります。

于 2012-10-27T02:25:32.637 に答える