gpt4 book ai didi

http - 从 CloudWatch 流式传输日志数据

转载 作者:可可西里 更新时间:2023-11-01 17:16:44 26 4
gpt4 key购买 nike

我大概可以使用以下方法从 CloudWatch logStream 获取所有日志事件:

    const cwl = new AWS.CloudWatchLogs();

cwl.getLogEvents({logGroupName, logStreamName}, (err, results) => {

for (let r of results.events) {
console.log(r.message);
}

});

但是,我的问题是 - 有没有一种方法可以流式传输日志而不是一次读取所有日志?似乎对于某些日志流,可能有上百万个事件/记录,因此一次读取所有数据可能太多了?

我查看了 cloudwatchlogs.d.ts 的声明文件: https://github.com/aws/aws-sdk-js/blob/master/clients/cloudwatchlogs.d.ts

看不到任何可以将日志流式传输到客户端的东西。

最佳答案

你不能直接流式传输它。

getLogEvents API 的响应包含nextForwardTokennextBackwardToken。如果无法在单个响应中返回所有事件,您可以在后续请求中使用它们来获取下一批事件。看这里:https://docs.aws.amazon.com/cli/latest/reference/logs/get-log-events.html

或者,您可以使用 createExportTask API 将数据导入 S3 并从那里流式传输。不确定导出的数据是否为可流格式。 https://docs.aws.amazon.com/cli/latest/reference/logs/create-export-task.html

关于http - 从 CloudWatch 流式传输日志数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56962114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com