Лямбда-функция, непрерывно запускаемая событием ObjectRemoved - PullRequest
0 голосов
/ 04 июля 2018

Я создал лямбда-функцию для удаления данного эскиза и установил триггер для события 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();
        }
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...