MCPcopy Create free account
hub / github.com/serverless/examples / replicatePromise

Function replicatePromise

aws-node-s3-file-replicator/handler.js:28–55  ·  view source on GitHub ↗
(record, destBucket)

Source from the content-addressed store, hash-verified

26}
27
28function replicatePromise(record, destBucket) {
29 return new Promise((resolve, reject) => {
30 // The source bucket and source key are part of the event data
31 var srcBucket = record.s3.bucket.name
32 var srcKey = decodeURIComponent(record.s3.object.key.replace(/\+/g, " "))
33
34 // Modify destKey if an alternate copy location is preferred
35 var destKey = srcKey
36 var msg = 'copying ' + srcBucket + ':' + srcKey + ' to ' + destBucket + ':' + destKey
37
38 console.log('Attempting: ' + msg)
39 s3.copyObject({
40 Bucket: destBucket,
41 Key: destKey,
42 CopySource: encodeURIComponent(srcBucket + '/' + srcKey),
43 MetadataDirective: 'COPY'
44 }, (err, data) => {
45 if (err) {
46 console.log('Error:' + msg)
47 console.log(err, err.stack) // an error occurred
48 return reject('Error:' + msg)
49 } else {
50 console.log('Success: ' + msg)
51 return resolve('Success: ' + msg)
52 }
53 })
54 })
55}

Callers 1

handler.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected