Мое приложение читает поток dynamoDB искать изменения в таблицу, и я в настоящее время получаю самый последний поток, как это:Динамо DB потоки, обновить последний поток ARN
this.awsDB.describeTable({TableName: 'MatchDraft'}, function(err, data){
if(err){
console.log(err);
} else {
this.streamArn = data.Table.LatestStreamArn;
console.log(data, this.streamArn);
_readStream.apply(this);
}
}.bind(this));
Проблема Я бегу в что таблицы LatestStreamArn не обновляются самостоятельно и заканчиваются каждые 24 часа, после чего моя программа начинает работать. Я ВСЕГДА использую только тип итератора «LATEST» shard, поэтому я не хочу сохранять 24-часовую запись всех изменений, я просто хочу использовать итераторы осколков, чтобы эффективно находить изменения в таблице и отображать их, поскольку они происходят.
Как я могу сделать свое приложение автоматически, просто создав новый LastStreamArn по мере необходимости самым эффективным способом? Код - все клиентские стороны в веб-браузере пользователей, поэтому я не хочу открывать разрешения для API UpdateTable, который, насколько я знаю, является единственным способом обновления потока.
Почему вы не используете AWS Lambda? –
@EyalCh Я думаю, потому что в стороне от этой одной проблемы, которая кажется, как будто это должно быть тривиально, я не нуждаюсь в этом. Как конкретно было бы полезно? Кажется, что теперь мне просто нужно хроновое задание, которое вызывает таблицу обновлений каждые 24 часа, и другого решения нет. У лямбды был бы более чистый способ решить эту проблему? Что конкретно вы бы с ним сделали? – asutherland
@Eyal Ch Если бы лямбда помогла бы мне, мне определенно хотелось бы знать, как это сделать. Даже если вы разрешаете вызов UpdateTable, мой поток, похоже, больше не будет активен через определенное время.Единственный способ заставить мое приложение возобновить работу - отключить поток через updateTable и снова включить его: / – asutherland