IAMロールを作成する
ポリシーには以下二つの権限をつける。
-AWSLambdaBasicExecutionRole
-AmazonS3FullAccess
'use strict'; const aws = require('aws-sdk'); const s3 = new aws.S3(); exports.handler = function(event, context){ console.log('Received event:', JSON.stringify(event, null, 2)); const uploadBucket = event.Records[0].s3.bucket.name; const key = event.Records[0].s3.object.key; const params = { Bucket: uploadBucket, Key: key }; s3.getObject(params, function(err, data){ if(err){ console.log(err, err.stack); context.done(err, err.stack); } else { console.log('data: ', data); const copyBucket = 'sample-copy-bucket'; const params = { Bucket: copyBucket, Key: key, Body: data.Body }; s3.putObject(params, function(err, data){ if(err){ console.log(err, err.stack); context.done(err, err.stack); } else { console.log('data: ', data); context.suceed('complete!'); } }); } }); };