Node.js aws sdk copyObject从一个bucket到另一个bucket

Node.js aws sdk copyObject从一个bucket到另一个bucket,node.js,amazon-s3,coffeescript,aws-sdk,Node.js,Amazon S3,Coffeescript,Aws Sdk,如何将对象从一个bucket复制到另一个bucket?我尝试了以下方法 s3.listObjects optsList, Meteor.bindEnvironment (err, result)-> if err? throw err else optsCopy = Bucket: _cloud.bucket

如何将对象从一个bucket复制到另一个bucket?我尝试了以下方法

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\u uploads/*userID*/A\u 100\u test.gif

关键是
destinationBucket/workdata/A\A\u 100/A\u 100\u test.gif


listObjects运行正常,我将得到文件。

将bucket选项设置为目标bucket名称,并且key应该没有类似/workdata/a\u/a\u 100/a\u 100\u test.gif的bucket,然后重试。:/vishalpatil感谢您的建议,但它似乎不起作用。我会得到同样的错误。