実現したいこと
S3にZIPファイルを格納してあるので、そのZIPファイルを取得して、解凍したいです。
躓いているところ
get_objectで取得したオブジェクトが以下のようになってしまう。そのため、解凍するために必要なファイルパスが取得できない。
PK\u0003\u0004\u0014\u0000\u0000\u0000\u0000\u0000\xA1\x9AYQ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\a\u0000
該当のソースコード
client = Aws::S3::Client.new( :region => 'ap-northeast-1', :access_key_id => '***', :secret_access_key => '***', ) @orders.each do |order| obj = client.get_object( bucket: "*", key: order.zip_file_name ).body.read Rails.logger.debug obj.inspect >> 中身は上記 end
試したこと
- HTTPartyを使ってZipをストリーミングする方法
- バイナリデータを取得する方法
開発環境
docker
ruby "2.6.3"
rails "~> 6.0.1"
不足している部分はご指摘いただければ追加します。
最終的に複数のzipファイルを解凍しディレクトリ形式にして、1つのzipファイルにしたいです。
その過程でのエラーです。
アドバイスよろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。