У меня есть функция Lambda, запускаемая событием put в ведре S3. Когда файл добавляется в корзину, лямбда срабатывает правильно, но выполняет s3.getObject(params, (err, data) => {}) ничего не происходит.
К роли функции Lambda прикреплена политика S3FullAccess.
Я протестировал лямбда локально (используя sam), и все работает отлично, но когда лямбда развернута, ничего не происходит, и я не знаю, как ее отлаживать.
const aws = require('aws-sdk');
const s3 = new aws.S3();
const bucket = event.Records[0].s3.bucket.name;
const key = event.Records[0].s3.object.key;
s3.getObject({Bucket: bucket, Key: key}, function(err, data) {
if (err) {
console.error(err);
}
console.log(data);
});
Объем моей лямбды:
- Чтение CSV-файла из частной корзины S3
- Загрузите содержимое файлов CSV в базу данных в VPC
Чтобы позволить лямбда-выражению обращаться к БД, я настроил лямбда-выражение на том же VPC, что и база данных.
Любая идея?