Я новичок в Node js и AWS. Я пытаюсь создать корзину в S3, используя node js в лямбда-функции. Следовательно, я пытаюсь создать папки внутри этой корзины S3.
Я следил за всеми ранее отвеченными вопросами и пробовал разные итерации кода, но ни одна из них, похоже, не работает. Ниже приведен мой код, который выполняется без каких-либо проблем, но корзина и папки не создаются.
const AWS = require('aws-sdk');
let s3Client = new AWS.S3({
accessKeyId: '<access_key_id>',
secretAccessKey: '<secret_access_key>'
});
var params = {
Bucket : 'pshycology06'
};
exports.handler = async (event, context, callback) => {
// call spaces to create the bucket
s3Client.createBucket(params, function(err, data) {
if (err) {
console.log("\r\n[ERROR] : ", err);
} else {
console.log("\r\n[SUCCESS] : data = ",data);
}
});
};
Код для создания папок внутри функции Lambda следующий:
var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';
var s3Client = new AWS.S3({apiVersion: '2006-03-01'});
exports.handler = async (event, context) => {
let params1 = { Bucket: 'travasko', Key: '2/dir1/dir2', Body:'body does not matter' };
s3Client.putObject(params1, function (err, data) {
if (err) {
console.log("Error creating the folder: ", err);
} else {
console.log("Successfully created a folder on S3");
}
});
Они оба не работают. Я прочитал много документов по этому вопросу и ответы на них ранее, но ни один из них не работает для меня.
Функция лямбда имеет время ожидания 1 минуту. Он имеет следующие политики для роли IAM: 1. AmazonRDSFullAccess 2. AmazonS3FullAccess 3. AWSLambdaVPCExecutionRole
Группа безопасности VP C является группой по умолчанию.
Кроме того, когда я пытаюсь создать то же самое ведро, используя следующую команду AWS CLI, оно создает это ведро.
aws s3api create-bucket --bucket psychology06 --region us-east-1
Я не уверен, где я делаю ошибка.