Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
节点js中的AWS SDK javascript返回拒绝访问_Javascript_Node.js_Amazon Web Services_Amazon S3_Access Denied - Fatal编程技术网

节点js中的AWS SDK javascript返回拒绝访问

节点js中的AWS SDK javascript返回拒绝访问,javascript,node.js,amazon-web-services,amazon-s3,access-denied,Javascript,Node.js,Amazon Web Services,Amazon S3,Access Denied,伙计们,当我试着列出我所有的桶时,它就像预期的那样工作。因此,我可以确保我的设置是正确的。 问题是当我尝试列出一个bucket的内容时: 我在节点js中有一个路由/:bucket app.get('/:bucket', function (req, res) { var bucket = req.params.bucket; var s3 = new AWS.S3(); var params = { Bucket: 'bucket' };

伙计们,当我试着列出我所有的桶时,它就像预期的那样工作。因此,我可以确保我的设置是正确的。 问题是当我尝试列出一个bucket的内容时:

我在节点js中有一个路由
/:bucket

app.get('/:bucket', function (req, res) {
    var bucket = req.params.bucket;
    var s3 = new AWS.S3();
    var params = {
        Bucket: 'bucket'
    };
    s3.listObjects(params, function (err, data) {
        if (err)
            console.log(err, err.stack); // an error occurred
        else
            console.log(data);           // successful response
    });
});
这不起作用,返回访问被拒绝

以下是bucket策略:

{
  "Id": "Policy...............",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt..........",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::my_bucket/*",
      "Principal": "*"
    }
  ]
}
这就是我得到的错误:

{ [AccessDenied: Access Denied]
  message: 'Access Denied',
  code: 'AccessDenied',
  region: 'us-east-1',
  time: Thu Aug 04 2016 13:14:56 GMT+0100 (CET),
  requestId: '.............',
  extendedRequestId: '.............................................',
  cfId: undefined,
  statusCode: 403,
  retryable: false,
  retryDelay: ........... } 'AccessDenied: Access Denied\n    at Request.extractError (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/services/s3.js:524:35)\n    at Request.callListeners (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/sequential_executor.js:105:20)\n    at Request.emit (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/sequential_executor.js:77:10)\n    at Request.emit (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:661:14)\n    at Request.transition (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:22:10)\n    at AcceptorStateMachine.runTo (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/state_machine.js:14:12)\n    at /home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/state_machine.js:26:10\n    at Request.<anonymous> (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:38:9)\n    at Request.<anonymous> (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:663:12)\n    at Request.callListeners (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/sequential_executor.js:115:18)\n    at Request.emit (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/sequential_executor.js:77:10)\n    at Request.emit (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:661:14)\n    at Request.transition (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:22:10)\n    at AcceptorStateMachine.runTo (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/state_machine.js:14:12)\n    at /home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/state_machine.js:26:10\n    at Request.<anonymous> (/home/azouz/PFE/Docker/PBD/node_modules/aws-sdk/lib/request.js:38:9)'
{[AccessDenied:拒绝访问]
消息:“访问被拒绝”,
代码:“访问被拒绝”,
地区:'us-east-1',
时间:2016年8月4日星期四13:14:56 GMT+0100(CET),
请求ID:“…………”,
扩展请求ID:',
cfId:未定义,
状态代码:403,
可检索:错误,
retryDelay:………}'AccessDenied:Access Denied:at Request.extractError(/home/azouz/PFE/Docker/PBD/node_modules/aws sdk/lib/services/s3.js:524:35)\n at Request.callListeners(/home/azouz/PFE/Docker/PBD/node_modules/aws sdk/lib/sequential_executor.js:105:20)\n at Request.emit(/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/sequential_executor.js:77:10)\n请求时发出(/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/Request.js:661:14)\n请求时发出(/home/azuz/PFE/Docker/Docker/node_modules/aws sdk/lib/Request.js:22:10)\n在AcceptorStateMachine.runTo(/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/state_machine.js:14:12)\n在/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/state_machine.js:26:10\n请求时。(/home/azuz/PFE/PFE/Docker/PBD/PBD/PBD/PBD/node_/node_modules/aws sdk/Request.js:38:9)\n请求时。(/home/azuz/PFE/Docker/PBD/node/Request.js:663:12)\n at Request.callListeners(/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/sequential_executor.js:115:18)\n at Request.emit(/home/azuz/PFE/Docker/PBD/node_modules/aws sdk/lib/sequential_executor.js:77:10)\n at Request.emit(/home/azuz/PFE/PFE/Docker/Docker/PBD/node_modules/aws sdk/lib/Request.js:661:14)\n(/home/azuz/PFE/Docker/PBD/node\u modules/aws sdk/lib/request.js:22:10)\n在AcceptorStateMachine.runTo(/home/azuz/PFE/Docker/PBD/node\u modules/aws sdk/lib/state\u machine.js:14:12)\n在/home/azuz/PFE/Docker/PBD/node\u modules/aws sdk/lib/state\u machine.js:26:10\n请求时。(/home/azouz/PFE/Docker/PBD/node_modules/aws sdk/lib/request.js:38:9)

您提供了正确的凭据吗?在.aws/config中是的。当尝试列出与我的帐户关联的所有存储桶时,它会返回它们。您确定您请求存储桶的方式正确吗。您有一个字符串
“bucket”
而不是变量
bucket
此处:
存储桶:“bucket”
另一个可能是的东西,您想知道吗在
我的桶下显示桶
?哦,太糟糕了。你说得对。我回去工作时会试试这个,我会让你知道它是否有效。