AWS lambdaでS3 Objectをコピーする
lambdaというか、JavaScriptの勉強的にこんなlambdaスクリプト作った。やりたかったのは、 S3 BucketにObjectがPUTされる。 同じBucketに、ファイル名に"copy-"と付与して、コピーを置く。 ってだけ。 -------------- var async = require('async'); var AWS = require('aws-sdk'); var s3 = new AWS.S3(); exports.handler = function(event, context) { var Bucket = event.Records[0].s3.bucket.name; var srcKey = event.Records[0].s3.object.key; var dstKey = "copy-" + srcKey; if (srcKey.substr(0,5) == 'copy-') { return; } async.waterfall([ function download(callback) { console.log('download start:' + srcKey); s3.getObject({ Bucket: Bucket, Key: srcKey }, function(err, data) { if (err) { callback(err); } try { callback(null, data); } catch (e) { callback(e); } } ); }, function upload(arg1, callback) { console.log('upload start:'