5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

S3で拡張子に依らずgzip圧縮を有効化する

Last updated at Posted at 2017-12-09

この記事は、株式会社ACCESS Advent Calendar 2017の10日目の記事です。

内容的には3日目の記事の続きです。


あらまし

S3に割と大きなファイルをアップロードする必要がある。
幸いに圧縮が効くものだったので、gzip圧縮でダウンロードできるようにS3を設定する。

この記事の一部を書き換える方法で説明する。

ローカルファイルの圧縮

以下のようにすることで、圧縮がかかるようになります。

s3.putObject({
  Bucket: 'バケット名',
  Key: '/path/to/file',
-  Body: fs.readFileSync('/path/to/localFile')
+  Body: zlib.gzipSync(fs.readFileSync('/path/to/localFile'))
+  ContentEncoding = 'gzip';
}, (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(data);
});

読み込み時にzlib.gzipSync()で圧縮して、ダウンロード時にcontent-encoding: gzipでgzip圧縮されていることをHTTPクライアントに教えるイメージです。


明日は @akegashi です。お楽しみに!

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?