如何将对象从一个存储桶复制到另一个存储桶?我试过以下方法。
s3.listObjects optsList, Meteor.bindEnvironment (err, result)->
if err?
throw err
else
optsCopy =
Bucket: _cloud.bucket
CopySource: _cloud.bucket + '/' + prfx + doc.filename
Key: _cloudMediaData.bucket + '/' + _cloudMediaData.upload_prefix + uploadPrfx + doc.filename
if result.Body? and result.Body.ListBucketResult? and result.Body.ListBucketResult.Contents?
for file in _.flatten [result.Body.ListBucketResult.Contents]
s3.copyObject optsCopy, Meteor.bindEnvironment (err, data)->
if err?
throw err
else
console.log 'Copied: ' + optsCopy.Key
但是使用此代码我得到以下错误。
Exception in callback of async function: { Code: 'AwsSumCheck', Message: 'Provide a SourceBucket' }
optsCopy 中的 Bucket 是 sourceBucket
CopySource 是 sourceBucket/user_uploads/*userID*/A_100_test.gif
密钥是destinationBucket/workdata/A_/A_100/A_100_test.gif
listObjects 工作正常,我将获取文件作为结果。