gpt4 book ai didi

node.js - 无法从 S3 (Node.js) 中删除对象

转载 作者:行者123 更新时间:2023-12-05 07:16:39 28 4
gpt4 key购买 nike

我正在尝试从 S3 中删除一个对象,但我无法让它工作。

这就是我正在做的:

const AWS = require('aws-sdk');
const s3 = new AWS.S3({
accessKeyId: ID, //My accessKeyId
secretAccessKey: SECRET //My secretAccessKey
});
var params = {
Bucket: process.env.S3_BUCKET_NAME, //'myBucket'
Key: file //'places-images/06850015-3d55-427b-a2f3-b8c2a56a42d8madametussauds.jpg'
}
s3.deleteObject(params, (err, data) => {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
})

返回的数据对象始终为空,文件不会离开 S3。顺便说一句,这个桶没有版本控制。

我尝试了 here 中的示例和 AWS docs但似乎不起作用。这让我发疯,因为它看起来很简单!任何帮助将不胜感激!

最佳答案

在我的例子中,问题是 key 被转义了,所以我只需要确保在编写 iT 时没有 %20(替换空格)。

不正确

    const params = {
Bucket: bucketName,
Key: "55bca7-40a-7708-8457-04666cd45f16-Screen%20Shot%202022-05-18%20at%2017.13.49.png", //key,
};

正确

const params = {
Bucket: bucketName,
Key: "55bca7-40a-7708-8457-04666cd45f16-Screen Shot 2022-05-18 at 17.13.49.png", //key,

};

我相信你还需要传递地区和签名版本:

 const s3 = new aws.S3({
region,
accessKeyId,
secretAccessKey,
signatureVersion: "v4",
})

关于node.js - 无法从 S3 (Node.js) 中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59180568/

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