4

У меня есть таблица DynamoDB, и всякий раз, когда добавляется новая запись, я хочу архивировать старые данные на S3. Поэтому я подумал, что могу использовать AWS Lambda. Таким образом, функция лямбда получит новую запись, которая будет добавлена ​​/ изменена. Но я хочу передать (для лямбда-функции) дополнительный параметр пути s3, к которому должна быть загружена запись.AWS Lambda - есть способ передать параметры функции лямбда при возникновении события

Один из способов - иметь все, что я хочу передать функции lamda в другой таблице/s3. Но это (параметр) изменится, поскольку каждая запись будет вставлена ​​в основную таблицу. Поэтому я не могу прочитать это из своей лямбда-функции. (К тому моменту, когда функция lambda будет выполнена для первой вставленной записи, было бы добавлено несколько записей)

Есть ли способ передать параметры функции лямбда?

P.S: Я хочу выполнить лямбду асинхронно.

Благодаря ...

ответ

0

почему бы не добавить эти параметры (s3 путь) к вашему dynamodb таблице (где новое сырье добавляют -не в другой таблице, но в той же таблице, что лямбда прослушивает)

+0

Я не хочу добавлять s3key в каждую запись. – user7

0

Теперь вы можете сделать это с помощью:

  1. Присоединение DynamoDB Stream к вашей Динамо таблицы с целью NEW_AND_OLD_IMAGES
  2. Создание источника событий на вашем лямбда-функции читать поток DynamoDB
  3. Добавить environment variable в вашей лямбда-функции, чтобы указать, куда записывать данные в S3

Вы все еще должны получить подробную информацию о том, где хранить записи от самой записи , но вы можете указать имя ведра или таблицы в переменной окружения.