Я пытаюсь создать и загрузить объект в контейнер s3, но событие PUT, похоже, не создает объект
const AWS = require('aws-sdk');
const fs = require('fs');
const s3 = new AWS.S3();
exports.handler = async (event) => {
// I've tried the full arn as well as just the bucket name
const bucket ='someBucketName';
const key = 'sample.csv';
// for testing purposes I am just loading a 30 row csv file.
// I've also tried a json object with no luck
// ex: const data = JSON.stringify({'label': 'foo'});
const data = fs.readFileSync('trees.csv','utf-8');
const params ={
Bucket : bucket,
Key : key,
Body: data
};
await s3.putObject(params, function (err, data) {
if(err){
console.log(`Error creating file ${err.stack}`);
}else{
console.log('File Created');
}
});
};
Когда я выполняю лямбду, он запускается без ошибок. Но файл никогда не создается в корзине, и я никогда не вижу вывод «Файл создан». Если я добавлю console.log () перед положением, я вижу, что все параметры установлены. Лямбда имеет полный доступ к s3, а также полный доступ к cloudWatch. Это всего лишь тест, поэтому я запускаю его прямо с лямбда-консоли в aws.
Любые предложения о том, что я пропускаю или делаю неправильно?