gpt4 book ai didi

node.js - AWS node.js SDK使用AWS示例获取 'Access Denied'

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:41 24 4
gpt4 key购买 nike

我是 AWS 的新人,也许我遗漏了一些明显的东西,因此需要帮助。

我有 2 个版本的代码,唯一的不同是将存储桶作为 4 个字符的字符串与 5 个字符的字符串传递。从 aws 得到不同的响应。这是为什么?

var AWS = require('aws-sdk');
var s3 = new AWS.S3();

s3.createBucket({Bucket: 'node4'}, function() {
var params = {Bucket: 'node4', Key: 'myKey', Body: 'Hello!'};
s3.putObject(params, function(err, data) {
if (err)
console.log(err)
else
console.log("Successfully uploaded data to myBucket/myKey");
});
});

运行app.js:

➜  aws  node app.js
{ [AllAccessDisabled: All access to this object has been disabled]
message: 'All access to this object has been disabled',
code: 'AllAccessDisabled',
region: null,
time: Fri Feb 05 2016 20:45:11 GMT+0200 (IST),
requestId: 'somerequestId',
extendedRequestId: 'someextendedRequestId',
statusCode: 403,
retryable: false,
retryDelay: 30 }

第二个代码:

var AWS = require('aws-sdk');
var s3 = new AWS.S3();

s3.createBucket({Bucket: 'node4e'}, function() {
var params = {Bucket: 'node4e', Key: 'myKey', Body: 'Hello!'};
s3.putObject(params, function(err, data) {
if (err)
console.log(err)
else
console.log("Successfully uploaded data to myBucket/myKey");
});
});

运行app.js:

➜  aws  node app.js
Successfully uploaded data to myBucket/myKey

最佳答案

the only different is passing bucket as a 4 chars string vs 5 chars

实际上,唯一的区别是您没有对名为“node4”的存储桶的写入权限,但您可以访问名为“node4e”的存储桶。您是否检查过两个存储桶是否确实创建成功?我注意到您没有检查 createBucket() 调用中的错误,只是检查 putObject() 调用中的错误。

这些是您正在使用的相当通用的存储桶名称,如果失败的存储桶名称“node4”已被另一个 AWS 账户使用,我不会感到惊讶。

关于node.js - AWS node.js SDK使用AWS示例获取 'Access Denied',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35231448/

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