Right_aws从S3获得.tar.gz

sep*_*err 2 ruby rake amazon-s3

我正在编写一个rake任务来从备份文件中恢复数据库,该文件是存储在S3中的.tar.gz.

第1步,从S3下载文件,对吗?我正在使用right_aws的S3Interface.我尝试了简单的get,它返回文件内容:object.

obj = s3.get(s3_config[:s3_bucket], s3_file_name)
temp_file.write obj[:object]
Run Code Online (Sandbox Code Playgroud)

错误:耙子中止了!"\ x8B"从ASCII-8BIT到UTF-8

我看到一些关于使用GzipWriter和String#unpack的帖子,但无法成功应用它们.

sep*_*err 7

用'wb'标志打开文件就可以了.

  temp_file = File.new(File.join(tmp_dir, 'temp.tar.gz'), 'wb')
  obj = s3.get(s3_config[:s3_bucket], s3_file_name)
  temp_file.write obj[:object]
  temp_file.close
Run Code Online (Sandbox Code Playgroud)