не может получить доступ к ресурсу aws с помощью aws -sdk, но может сделать с помощью aws cli и веб-консоли - PullRequest
0 голосов
/ 01 августа 2020

Я не могу получить доступ к ресурсу aws с помощью aws -sdk. Но я могу получить доступ к ресурсам с помощью aws cli и веб-консоли. Есть ли какой-то параметр, который мне не хватает? Я запускаю код nodejs из VSCode. Я установил профиль в коде VS.

Приведенная ниже команда работает

aws s3api create-bucket --bucket node-sdk-sample-mytest123 --region us-east-1 --profile dev

ниже nodejs код не работает Я получаю

AccessDenied: Access Отказано

введите описание изображения здесь

var AWS = require('aws-sdk');
var uuid = require('node-uuid');

// Create an S3 client
var s3 = new AWS.S3();
AWS.config.update({region: 'us-east-1'});
// Create a bucket and upload something into it
var bucketName = 'node-sdk-sample-' + uuid.v4();
var keyName = 'hello_world.txt';

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

1 Ответ

0 голосов
/ 01 августа 2020

Прикрепите политику лямбда-выражения для создания и доступа к s3.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:*"
            ],
            "Resource": "arn:aws:s3:::<bucket name>",
            "Effect": "Allow"
        }
    ]
}
...