s3.deleteObject() 方法未删除 S3 存储桶对象
S3 bucket objects are not getting deleted by s3.deleteObject() method
我使用 s3.deleteObject() 方法删除了 AWS S3 存储桶上的上传文件。但作为回应,我没有收到任何错误,但仍然没有删除该文件。我认为这可能是权限问题,但我没有遇到权限错误,而且此文件已由 multerS3 上传。
const aws = require('aws-sdk');
aws.config.update({
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey
});
const s3 = new aws.S3();
(async () => {
let params = {
Bucket: 'bucket',
Key: 'https://bucket.s3.amazonaws.com/profiles/1648634140824-xyz.png'
};
console.log(`params ->> `, params);
s3.deleteObject(params, function (error, data) {
if (error) {
console.log(`\nDeleteImageFromS3 error ->> ${error}`);
return;
} else {
console.log('\ns3.deleteObject data ->> ', data);
return;
}
});
})();
在 response 中,我得到低于日志并且文件仍然存在于 S3 存储桶
s3.deleteObject data ->> { DeleteMarker: true,
VersionId: 'DtD9ccuW2zl1ylWvQTrjJfk3yVa_Ze1A' }
谢谢提前
请更改关键部分,您不必定义 aws s3 的域(所有这些事情仅由 aws-sdk
处理),只需定义存储桶中的文件名即可。
let params = {
Bucket: 'bucket',
Key: 'profiles/1648634140824-xyz.png'
};
我使用 s3.deleteObject() 方法删除了 AWS S3 存储桶上的上传文件。但作为回应,我没有收到任何错误,但仍然没有删除该文件。我认为这可能是权限问题,但我没有遇到权限错误,而且此文件已由 multerS3 上传。
const aws = require('aws-sdk');
aws.config.update({
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey
});
const s3 = new aws.S3();
(async () => {
let params = {
Bucket: 'bucket',
Key: 'https://bucket.s3.amazonaws.com/profiles/1648634140824-xyz.png'
};
console.log(`params ->> `, params);
s3.deleteObject(params, function (error, data) {
if (error) {
console.log(`\nDeleteImageFromS3 error ->> ${error}`);
return;
} else {
console.log('\ns3.deleteObject data ->> ', data);
return;
}
});
})();
在 response 中,我得到低于日志并且文件仍然存在于 S3 存储桶
s3.deleteObject data ->> { DeleteMarker: true,
VersionId: 'DtD9ccuW2zl1ylWvQTrjJfk3yVa_Ze1A' }
谢谢提前
请更改关键部分,您不必定义 aws s3 的域(所有这些事情仅由 aws-sdk
处理),只需定义存储桶中的文件名即可。
let params = {
Bucket: 'bucket',
Key: 'profiles/1648634140824-xyz.png'
};