gpt4 book ai didi

javascript - 将文件从一个文件夹复制到同一存储桶 NODE JS 的 s3 中的另一个文件夹

转载 作者:搜寻专家 更新时间:2023-10-31 23:24:40 25 4
gpt4 key购买 nike

我正在尝试将文件从一个文件夹复制到同一存储桶中的另一个文件夹,但我遇到了访问定义错误。但是,如果我尝试在两个不同的桶上进行操作,则意味着它可以正常工作。

请在下面找到我迄今为止尝试过的内容:

var AWS = require('aws-sdk');
AWS.config.update({
accessKeyId: 'xxx',
secretAccessKey: 'xxx'
});
var s3 = new AWS.S3();
var params = {
Bucket : 'bucketname', /* Another bucket working fine */
CopySource : 'bucketname/externall/1.txt', /* required */
Key : "1.txt", /* required */
ACL : 'public-read',
};
s3.copyObject(params, function(err, data) {
if (err)
console.log(err, err); // an error occurred
else {
console.log(data); // successful response
}
});

最佳答案

var AWS = require('aws-sdk');
AWS.config.update({
accessKeyId: 'ACCESS_KEY',
secretAccessKey: 'SECRET_KEY',
region: 'REGION'
});
var s3 = new AWS.S3();
var bktName = 'BUCKET_NAME';
var options = {
Bucket: bktName,
Prefix: 'SOURCE_FOLDER/'
};
s3.listObjectsV2(options, function (err, data) {
if (err) {
console.log(err);
} else {
data['Contents'].forEach(function (obj) {
var lockey = obj.Key.replace(/SOURCE/g, 'TARGET');
// Example if you want to move from /test/123/ to /test/234/ (or 123/ to 234/) then SOURCE = 123 and TARGET = 234
var params = {
Bucket: bktName,
CopySource: '/' + bktName + '/' + obj.Key,
Key: lockey
};
s3.copyObject(params, function (err, data) {
if (err) {
console.log(err);
} else {
console.log('Inserted', lockey);
}
});
});
}
});

关于javascript - 将文件从一个文件夹复制到同一存储桶 NODE JS 的 s3 中的另一个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32433948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com