gpt4 book ai didi

amazon-web-services - 尝试使用 golang 在 cloudwatch 上 PutLogEvents 时获取 SerializationException

转载 作者:数据小太阳 更新时间:2023-10-29 03:20:13 26 4
gpt4 key购买 nike

我正在尝试使用我的程序实现以下目标:在 aws cloudwatch 上创建日志组在上面的日志组下创建日志流将日志事件放在上面的日志流下

所有这些都使用 go lang

package main

import (
"time"
"fmt"
"github.com/jcxplorer/cwlogger"
"github.com/aws/aws-sdk-go/service/cloudwatchlogs"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/aws"
)

func main() {
sess := session.Must(session.NewSessionWithOptions(session.Options{
SharedConfigState: session.SharedConfigEnable,
}))

svc := cloudwatchlogs.New(sess)
logGroupName := "my-log-group";
logStreamName := "my-log-stream";
logGroupInput := cloudwatchlogs.CreateLogGroupInput{LogGroupName: &logGroupName}
svc.CreateLogGroup(&logGroupInput);
logStreamInput := cloudwatchlogs.CreateLogStreamInput{LogGroupName: &logGroupName, LogStreamName: &logStreamName}
svc.CreateLogStream(&logStreamInput)

logevents := make([]*cloudwatchlogs.InputLogEvent, 1)

logevents = append(logevents, &cloudwatchlogs.InputLogEvent{
Message: aws.String("Simple log message"),
Timestamp: aws.Int64(111),
})

p := cloudwatchlogs.PutLogEventsInput{LogEvents: logevents, LogGroupName: &logGroupName, LogStreamName: &logStreamName}
resp, err := svc.PutLogEvents(&p)
if err != nil {
panic(err)
}
fmt.Print("Next Token: {}", resp.NextSequenceToken)
}

现在,当我运行上面的代码时,它成功创建了日志组和日志流,我可以在 aws cloudwatch 中进行验证。但由于某种原因,PutLogEvents 失败并出现以下错误:

panic: SerializationException: 
status code: 400, request id: 0685efcc-47e3-11e9-b528-81f33ec2f468

我不确定这里有什么问题。任何建议或方向都会非常有帮助。

提前致谢。

最佳答案

SerializationException 的原因是:logevents := make([]*cloudwatchlogs.InputLogEvent, 1)然后是在 slice 中创建第一个空条目的追加。我用logevents := make([]*cloudwatchlogs.InputLogEvent, 0) 它得到了解决。

此外,在调试以查找日志未被填充的原因时,我发现使用的时间戳值无效。根据 aws 文档,每个事件的时间戳不能早于 14 天, future 也不能超过 2 小时。这是链接:https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html

希望对以后遇到类似问题的人有所帮助。

关于amazon-web-services - 尝试使用 golang 在 cloudwatch 上 PutLogEvents 时获取 SerializationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55196976/

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