Mat*_*aNg 0 javascript amazon-s3 amazon-web-services
我正在尝试使用 AWS S3 SDK 上传图片。现在这之前有效,但由于某种原因它停止工作,我开始收到此错误:
现在,当我点击链接时,它给了我一个“NoSuchKey”错误:
我不太明白这一点,因为我的密钥实际上只是一个字符串。我也在尝试上传一些东西,所以显然密钥不存在 - 我正在尝试上传它!
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;
}
};
Run Code Online (Sandbox Code Playgroud)
同样奇怪的是,我遵循了两个教程,输入了我的凭据,并且对两者都有效。然后我逐字地将他们如何配置 AWS 配置对象复制粘贴到我的 initialBucket 函数中,我最终得到了同样的错误。
这是我遵循的教程之一(查看“配置 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 错误那样的我的 bucketName。
我不知道为什么这些不同,或者它们是否应该不同。我也不知道如何更改 URL,因为我认为我实际上从未告诉它要转到哪个 URL。
任何想法表示赞赏。
谢谢。
| 归档时间: |
|
| 查看次数: |
8557 次 |
| 最近记录: |