Я создал лямбда-функцию для удаления данного эскиза и установил триггер для события ObjectRemoved, чтобы автоматически удалять миниатюру изображения, когда исходный файл был удален из данного сегмента aws-S3.
Однако, проанализировав ежемесячный счет, я понял, что по какой-то причине лямбда вызывается сотни миллионов раз и не перестанет срабатывать. Мне пришлось отключить триггер на Lambda, чтобы отключить его.
Проблема в том, что я не создал и не удалил ни одного файла в этом сегменте, поэтому мне интересно, как это возможно, что лямбда-функция продолжала непрерывно запускаться.
Любая помощь приветствуется.
Спасибо.
Edit:
Лямбда-код моего AWS
var aws = require('aws-sdk');
var s3 = new aws.S3();
exports.handler = function (event, context) {
console.log('Received event:', JSON.stringify(event, null, 2));
// Get the object from the event and show its content type
const bucket = event.Records[0].s3.bucket.name;
const key = event.Records[0].s3.object.key;
const path = key.split('/');
const folder = path[0];
const fileName = path[1];
const deleteKey = folder + '/thumbnails/' + fileName;
s3.deleteObject({ Bucket: bucket, Key: deleteKey }, function (err, data) {
if (err) {
console.log('Error deleting object ' + deleteKey + ' from bucket ' + bucket + '. Make sure they exist and your bucket is in the same region as this function.');
context.fail('Error getting file: ' + err)
} else {
context.succeed();
}
});
};