前提・実現したいこと
CarriewaveとRails5を使用し、S3への大容量アップロードを試しています。
キャッシュディレクトリへのアップロードまではできるのですが、
キャッシュディレクトリからストレージディレクトリへの移動で5G制限のエラーが発生してしまいます。
Carriewaveのオプション等での回避が可能なのかを知りたいです。
環境
- Rails5.2.3
- carrierwave1.3.1
- Nginx + puma
発生している問題・エラーメッセージ
「該当のソースコード」の設定を行い、8GBのファイルアップロードを行うと、
「The specified copy source is larger than the maximum allowable size for a copy source: 5368709120」
のエラーが返却されてしまう。
uploads/tmp フォルダには8GBのファイルがアップされており、ストレージ「movie」への移動でエラーが発生しているよう。
該当のソースコード
Uploaderの設定
以下の通り、「multipart_chunk_size 」のオプションを指定しています。
rb
1# carriewave.rb 2CarrierWave.configure do |config| 3 config.fog_credentials = { 4 provider: 'AWS', 5 aws_access_key_id: アクセスキー, 6 aws_secret_access_key: パス, 7 region: 'ap-northeast-1' 8 } 9 10 config.fog_directory = バケット名 11 config.cache_storage = :fog 12end
rb
1# movie_uploader.rb 2class MovieUploader < CarrierWave::Uploader::Base 3 def store_dir 4 "movie" 5 end 6 7 def fog_attributes 8 { :multipart_chunk_size => 524288000, :max_concurrent_requests => 20 } 9 end
試したこと
https://github.com/carrierwaveuploader/carrierwave
上記、carriewaveのドキュメントページを参照すると、
「デフォルトでは、CarrierWaveはアップロードされたファイルを2回コピーします。」となっているが、
move_to_cache, move_to_store を true にしても結果に変わりありませんでした。
何か情報をお持ちであればご教授ください。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/21 08:02 編集