Я бы сказал, что использование чего-то другого, кроме DynamoDB, было бы излишним.
DynamoDB сделан именно для этой цели. И это практически бесплатно для вашего случая использования. И добавит только около или менее 10 мс к вашему времени выполнения. Очень незначительно по сравнению с холодными запусками, которые будет получать ваша лямбда.
Если вы действительно хотите сократить как стоимость DynamoDB, так и время выполнения Lambda, вы можете кэшировать счетчик внутри контейнера Lambda (вне вашего обработчика).
Предполагая, что нет одновременных вызовов (инициируемых только запланированными событиями), я бы делал что-то подобное для каждого вызова:
- Проверка значения счетчика в кэше.
- Если
counter == 0
, считать значение из DynamoDB. Если counter > 0
, используйте это значение.
- Делай, что хочешь.
- Счетчик приращений в DynamoDB и кэшированное значение.