aws sdk copyObject 从一个存储桶到另一个存储桶

时间:2021-04-16 11:39:57

标签: node.js amazon-s3 coffeescript aws-sdk

如何将对象从一个存储桶复制到另一个存储桶?我试过以下方法。

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 工作正常,我将获取文件作为结果。

0 个答案:

没有答案
相关问题