gpt4 book ai didi

javascript - AWS S3 : The request signature we calculated does not match the signature you provided

转载 作者:行者123 更新时间:2023-11-28 14:56:51 25 4
gpt4 key购买 nike

我正在尝试使用 AWS S3 SDK 上传图片。现在这之前可以工作,但由于某种原因它停止工作并且我开始收到此错误:

enter image description here

现在,当我点击链接时,它给我一个“NoSuchKey”错误:

enter image description here

我不太明白这一点,因为我的 key 实际上只是一个字符串。我也在尝试上传一些东西,所以显然 key 不存在 - 我正在尝试上传它!

function initiateBucket() {
var albumBucketName = 'bucket_name';
var bucketRegion = 'us-east-1';
var IdentityPoolId = 'identity_pool_id';

AWS.config.update({
region: bucketRegion,
credentials: new AWS.CognitoIdentityCredentials({
IdentityPoolId: IdentityPoolId
})
});

return new AWS.S3({
apiVersion: '2006-03-01',
params: {Bucket: albumBucketName}
});

function upload(file, key, metaData) {
var temp = 'test';
var temp1 = "test";
if(verifyMetaData(metaData)) {
var s3 = vm.initiateBucket();
console.log(s3);
s3.upload({
Key: temp,
Body: temp1,
ACL: 'public-read',
Metadata: metaData
}, function(err, data) {
if (err) {
console.log(err.message);
return false;
}
else {
console.log("Successfully Uploaded to S3");
return true;
}
});
}
else {
console.log("Invalid MetaData");
console.log(metaData);
return false;
}
};

同样奇怪的是,我遵循了两个教程,输入了我的凭据,并且它对两个教程都有效。然后,我将他们如何配置 AWS 配置对象的方式逐字复制粘贴到我的 initiateBucket 函数中,最终得到了相同的错误。

这是我遵循的教程之一(请参阅“配置 SDK”):

http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-example-photo-album.html

另一个教程来自博客,我没有它的链接,但我上面的代码与文档中的本教程相同。我所做的就是将它移到一个函数中(正在被调用),而在教程中他们将它作为全局变量。

由于它在教程中有效,因此不可能是配置问题。我认为这一定与 403 错误和“NoSuchKey”错误有关。但同样,教程中的代码是相同的,我只是传递字符串,所以这也没有意义。

我注意到的另一件事是 403 错误的链接有点奇怪。它以“https://mng-monet.s3.amazonaws.com/test”开头

它不应该是 s3.amazonaws//key 这样吗?:“https://s3.amazonaws.com/mng-moment/test/ ...”。我的存储桶中的文件的 URL 以 s3.amazonaws 开头,而不是像 403 错误那样以我的存储桶名称开头。

我不知道为什么这些不同,或者它们是否应该不同。我也不知道如何更改 URL,因为我认为我从未真正告诉过它要转到哪个 URL。

任何想法都会受到赞赏。

谢谢。

最佳答案

事实证明,是元数据搞砸了一切。我花了两天时间才发现元数据后面的额外空格会引发此错误。实际上根本不是一个有用的错误消息。

关于javascript - AWS S3 : The request signature we calculated does not match the signature you provided,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42570112/

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