我从nodejs脚本上传文件,当我尝试复制对象时,我遇到了Access Denied错误,如果我尝试删除该对象或获取它 - 没有问题,并且成功。
CopyObject中有空格吗?
params = {
"Bucket": "buacket-name",
"CopySource": "source-path/object.txt",
"Key": "source-path/object2.txt"
};
s3.copyObject(params, function(err, data)); // With a function for success or error.
感谢。
答案 0 :(得分:4)
解决它!问题出在我的CopySource路径中,它需要与桶名一样:backet-name / objectkey
答案 1 :(得分:2)
根据AWS S3 copyObject docs,CopySource参数应包含存储桶和密钥名称。例如:
var params = {
CopySource: 'source_bucket/source_key',
Bucket: 'destination_bucket_name',
Key: 'destination_key'
};
s3.copyObject(params, function(error, data) {
// error check
if (error) {
console.log(error, error.stack);
}
console.log('S3 object copied');
});