【问题标题】:AWS node.js SDK getting 'Access Denied' using AWS exampleAWS node.js SDK 使用 AWS 示例获取“拒绝访问”
【发布时间】:2016-02-06 03:16:18
【问题描述】:

我是 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

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3 aws-sdk


    【解决方案1】:

    唯一的不同是将存储桶作为 4 个字符的字符串与 5 个字符进行传递

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

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

    【讨论】:

    • 两个存储桶都不存在,至少在我的帐户上不存在。无法真正测试尝试创建另一个用户的存储桶,因为我没有这样的示例。以相同的响应“成功”运行两次相同的工作测试,因此存储桶名称可能不是真正的问题
    • 运行代码后,应该已经创建了两个存储桶。我的问题是,在您运行代码之后,您是否查看了两个存储桶是否真的被创建了?您是否进入 S3 控制台并查找这两个存储桶?我问的原因是因为存储桶名称在所有 AWS 中都是全局的。您不能使用已被其他人在 AWS 上使用的 S3 存储桶名称。
    • 我确实检查了,成功创建的存储桶就在那里,从教程中不清楚每个存储桶在所有 AWS 中都应该有一个唯一的名称。感谢您提供信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    相关资源
    最近更新 更多