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