我有一个.netcore处理AWS Lambda,它以json格式在一个AWS CloudWatch日志流中写入日志。大约写入200/400个日志条目,每个条目包含大约800行(最大25kb)的json数据。
一旦处理完Lambda日志后,另一个导出Lambda会将日志写入Excel文件,然后将文件导出到S3。问题是,当CloudWatch有200个条目时,它仅写入约110条日志。我可以在控制台中看到有200条日志条目,但是excel文件仅包含大约110至116行。
在导出到excel之前,我先检查日志条目的计数,然后发现计数不正确。应该是200,但错误地是110。 我正在编写的代码是:
Security > SSL certificate and key management > Key stores and certificates
我进一步测试了,当我编写简单文本而不是长json数据时,可以在上述代码中获得适当的计数。但是,当日志包含较长的json数据时;我收到不正确的计数。为了进行测试,当我将json数据剥离到少于200行时,我得到了正确的计数。
那么,有什么限制吗?当其中写入大量json数据(25kb或800行)时,FilterLogEventsAsync()函数是否无法获取所有日志?
答案 0 :(得分:1)
如果您得到的所有小示例事件,但有些大示例缺少,则FilterLogEvents可能无法在单个响应中返回所有事件。
在收到的回复中选中nextToken
字段。如果它不为null,则需要再次发出相同的请求,但是这次还要设置上一个响应得到的nextToken
。重复此操作,直到响应不包含nextToken
。