在 go SDK v2 中读取 CloudWatch 日志查询状态
Reading CloudWatch log query status in go SDK v2
我正在 运行通过适用于 Go 的 v2 SDK 进行 CloudWatch 日志查询。我已经使用 StartQuery 方法成功提交了查询,但是我似乎无法处理结果。
我在一个变量 (queryID) 中获得了我的查询 ID,并且正在使用 GetQueryResults 方法,如下所示:
results, err := svc.GetQueryResults(context.TODO(), &cloudwatchlogs.GetQueryResultsInput{QueryId: queryId,})
如何真正阅读内容?具体来说,我正在查看 Status 字段。如果我 运行 在命令行查询,这将作为字符串描述返回。根据 SDK 文档,这是一个定制类型“QueryStatus”,它被定义为带有 enumerated constants.
的字符串
我试过与常量名称进行比较,例如
if results.Status == cloudwatchlogs.GetQueryResultsOutput.QueryStatus.QueryStatusComplete
但是编译器不接受这个。我如何引用常量或获取字符串值本身?
QueryStatus
类型定义为 in the separate types package。 Go SDK 服务都是这样组织的。
import "github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs/types"
if res.Status == types.QueryStatusComplete {
fmt.Println("complete!")
}
我正在 运行通过适用于 Go 的 v2 SDK 进行 CloudWatch 日志查询。我已经使用 StartQuery 方法成功提交了查询,但是我似乎无法处理结果。
我在一个变量 (queryID) 中获得了我的查询 ID,并且正在使用 GetQueryResults 方法,如下所示:
results, err := svc.GetQueryResults(context.TODO(), &cloudwatchlogs.GetQueryResultsInput{QueryId: queryId,})
如何真正阅读内容?具体来说,我正在查看 Status 字段。如果我 运行 在命令行查询,这将作为字符串描述返回。根据 SDK 文档,这是一个定制类型“QueryStatus”,它被定义为带有 enumerated constants.
的字符串我试过与常量名称进行比较,例如
if results.Status == cloudwatchlogs.GetQueryResultsOutput.QueryStatus.QueryStatusComplete
但是编译器不接受这个。我如何引用常量或获取字符串值本身?
QueryStatus
类型定义为 in the separate types package。 Go SDK 服务都是这样组织的。
import "github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs/types"
if res.Status == types.QueryStatusComplete {
fmt.Println("complete!")
}