大量のファイルをgzipしたものをS3に配置したいニーズがあって、非力な手元のマシンで一旦gzipしてから転送するよりはLambdaにやらせたらいいのではないか?ということでやってみました。 以下のようなLambda functionを設置 大きなファイル(数十MB以上)を扱う場合はtimeoutをデフォルトの3秒から伸ばす。メモリも128MBでは足りないことがあるので512MBなど S3の読み書き権限があるIAM Roleを設定 S3のイベント通知でLambda functionをkick aws s3 sync で大量のファイルを同期してもアップロードが終わったファイルから順番に処理が走るので、同期が終わった数秒後にはgzipされたファイルが生成されている状態になります。 var aws = require('aws-sdk'); var zlib = require('zlib');