nextSequenceToken в случае исключения после событий putloge

#javascript #node.js #amazon-web-services #aws-sdk #amazon-cloudwatch

Вопрос:

Я просматриваю некоторые данные, загружаю элементы в CloudWatch. Суть цикла заключается в этих 2 строках:

 const response = await this.cloudwatch.putLogEvents(params).promise();
seqToken = response.nextSequenceToken;
 

По сути — загрузите данные в CloudWatch и получите токен следующей последовательности для последовательной загрузки. Это прекрасно работает до тех пор, пока нет исключений. Если произойдет исключение (например, размер загрузки слишком велик) Я хотел бы поместить его в try/catch блок, зарегистрировать сообщение об ошибке и продолжить цикл.

Мой вопрос таков: вместо действительного ответа, как мне получить действительный nextSequenceToken в этом случае?

Ответ №1:

В большинстве случаев вы можете просто повторно использовать маркер, который у вас уже есть.

Единственное исключение (каламбур не предназначен), если вы получите InvalidSequenceTokenException . В этом случае вам нужно получить новый токен последовательности. Вы можете либо позвонить DescribeLogStreams , либо (согласно документам-я никогда этого не делал) получить expectedSequenceToken из объекта исключения.

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