teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

説明

2020/12/02 00:26

投稿

_taizo
_taizo

スコア1

title CHANGED
File without changes
body CHANGED
@@ -20,7 +20,7 @@
20
20
  key: order.zip_file_name
21
21
  ).body.read
22
22
 
23
- Rails.logger.debug obj.inspect >> 中身は上記画像
23
+ Rails.logger.debug obj.inspect >> 中身は上記
24
24
 
25
25
  end
26
26
  ```
@@ -32,4 +32,9 @@
32
32
  ### 開発環境
33
33
  docker
34
34
  ruby "2.6.3"
35
- rails "~> 6.0.1"
35
+ rails "~> 6.0.1"
36
+
37
+ 不足している部分はご指摘いただければ追加します。
38
+ 最終的に複数のzipファイルを解凍しディレクトリ形式にして、1つのzipファイルにしたいです。
39
+ その過程でのエラーです。
40
+ アドバイスよろしくお願いいたします。

1

ソースコード記載

2020/12/02 00:26

投稿

_taizo
_taizo

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,11 +1,30 @@
1
1
  ### 実現したいこと
2
- S3にZIPファイルを格納してあるので、そのZIPファイルを取得して、解凍したい。
2
+ S3にZIPファイルを格納してあるので、そのZIPファイルを取得して、解凍したいです
3
3
 
4
4
  ### 躓いているところ
5
5
  get_objectで取得したオブジェクトが以下のようになってしまう。そのため、解凍するために必要なファイルパスが取得できない。
6
6
  ```ここに言語を入力
7
7
  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
8
8
  ```
9
+ ### 該当のソースコード
10
+ ```ここに言語を入力
11
+ client = Aws::S3::Client.new(
12
+ :region => 'ap-northeast-1',
13
+ :access_key_id => '***',
14
+ :secret_access_key => '***',
15
+ )
16
+
17
+ @orders.each do |order|
18
+ obj = client.get_object(
19
+ bucket: "*",
20
+ key: order.zip_file_name
21
+ ).body.read
22
+
23
+ Rails.logger.debug obj.inspect >> 中身は上記画像
24
+
25
+ end
26
+ ```
27
+
9
28
  ### 試したこと
10
29
  - HTTPartyを使ってZipをストリーミングする方法
11
30
  - バイナリデータを取得する方法