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'
  };