私はHerokuが長期間のファイルストレージを持っていないことを発見したので、S3などに移行する必要があります。私の周りの頭を掴むためにたくさんの新しいものがありますので、CarrierWave-direct
を使ってS3に直接アップロードしてからdelayed_job
で処理する方法が私のRailsアプリケーションでうまくいくはずです。私はこれを正しくコーディングする場合にどうすべきだと思う何Rails、Amazon S3ストレージ、CarrierWave-Direct、delayed_job - これは正しいのですか?
は以下の通りです:
- 私は私が必要とするものなど、S3のアカウントにサインアップセットアップ私のバケット(複数可)および認証の詳細を取得しますに(適切に私のユーザーから隠さ)
- 私は直接アップロードホワイトリストは、私のアップロード(以降のダウンロード)を防止することから、クロスドメインを停止しないことを確認してください
- 私は
CarrierWave
&CarrierWave-direct
(または類似)を使用中のプログラムにアップロード中に自分のアプリを読み込まないように自分のアップロードを作成する - S3はランダムアクセス( 'ファイル名')情報を作成するので、複数のユーザーが同じ名前のファイルを上書きしてファイルを上書きする心配はありません。私が元の名前を気にするなら、メタデータを使ってそれらを保存することができます。
CarrierWave-direct
アップロード後にユーザーのブラウザを「アップロード完了」URLにリダイレクトします。ここから、delayed_jobまたはpopupを作成することができます。- この時点で、ユーザーはジョブが試行され、他のものに移動することがわかります。
- 私の
delayed_job
タスクは、S3 APIを使用してファイルにアクセスし、完了したら入力ファイルを削除できます。 delayed_job
が完了し、通常の方法でユーザーに通知します。 Eメール。
それは何ですか、それとも私は何か不足していますか?ありがとう。