【问题标题】:nextSequenceToken in case of exception after putLogEvents在 putLogEvents 之后出现异常时的 nextSequenceToken
【发布时间】:2021-08-03 20:36:19
【问题描述】:

我正在循环浏览一些数据,将元素上传到 CloudWatch。循环的本质是这两行:

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

基本上 - 将数据上传到 CloudWatch 并获取下一个序列令牌以进行连续上传。只要没有例外,这都可以正常工作。如果发生异常(例如上传大小太大),我想将其放入try/catch 块中,记录错误消息并继续循环。

我的问题是:在这种情况下,我如何获得有效的nextSequenceToken 来代替有效的回复?

【问题讨论】:

    标签: javascript node.js amazon-web-services aws-sdk amazon-cloudwatch


    【解决方案1】:

    在大多数情况下,您可以简单地重复使用已有的令牌。

    唯一的例外(双关语不是有意的)是如果你得到InvalidSequenceTokenException。在这种情况下,您需要获取一个新的序列令牌。你可以调用DescribeLogStreams,或者(根据docs——我从来没有这样做过)从异常对象中获取expectedSequenceToken

    作为一般性评论,您应该查看特定于操作的异常列表(上面的链接)以及list of common errors。有些异常可以重试,有些则不能,您需要适当地处理它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-10
      相关资源
      最近更新 更多