QueryDefinitionProps Struct
Properties for a QueryDefinition.
Example
ts
new logs.QueryDefinition(this, 'QueryDefinition', {
queryDefinitionName: 'MyQuery',
queryString: new logs.QueryString({
fields: ['@timestamp', '@message'],
parseStatements: [
'@message "[*] *" as loggingType, loggingMessage',
'@message "<*>: *" as differentLoggingType, differentLoggingMessage',
],
filterStatements: [
'loggingType = "ERROR"',
'loggingMessage = "A very strange error occurred!"',
],
statsStatements: [
'count(loggingMessage) as loggingErrors',
'count(differentLoggingMessage) as differentLoggingErrors',
],
sort: '@timestamp desc',
limit: 20,
}),
});
python
logs.QueryDefinition(self, "QueryDefinition",
query_definition_name="MyQuery",
query_string=logs.QueryString(
fields=["@timestamp", "@message"],
parse_statements=["@message \"[*] *\" as loggingType, loggingMessage", "@message \"<*>: *\" as differentLoggingType, differentLoggingMessage"
],
filter_statements=["loggingType = \"ERROR\"", "loggingMessage = \"A very strange error occurred!\""
],
stats_statements=["count(loggingMessage) as loggingErrors", "count(differentLoggingMessage) as differentLoggingErrors"
],
sort="@timestamp desc",
limit=20
)
)
java
QueryDefinition.Builder.create(this, "QueryDefinition")
.queryDefinitionName("MyQuery")
.queryString(QueryString.Builder.create()
.fields(List.of("@timestamp", "@message"))
.parseStatements(List.of("@message \"[*] *\" as loggingType, loggingMessage", "@message \"<*>: *\" as differentLoggingType, differentLoggingMessage"))
.filterStatements(List.of("loggingType = \"ERROR\"", "loggingMessage = \"A very strange error occurred!\""))
.statsStatements(List.of("count(loggingMessage) as loggingErrors", "count(differentLoggingMessage) as differentLoggingErrors"))
.sort("@timestamp desc")
.limit(20)
.build())
.build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
new QueryDefinition(this, "QueryDefinition", new QueryDefinitionProps {
QueryDefinitionName = "MyQuery",
QueryString = new QueryString(new QueryStringProps {
Fields = new [] { "@timestamp", "@message" },
ParseStatements = new [] { "@message \"[*] *\" as loggingType, loggingMessage", "@message \"<*>: *\" as differentLoggingType, differentLoggingMessage" },
FilterStatements = new [] { "loggingType = \"ERROR\"", "loggingMessage = \"A very strange error occurred!\"" },
StatsStatements = new [] { "count(loggingMessage) as loggingErrors", "count(differentLoggingMessage) as differentLoggingErrors" },
Sort = "@timestamp desc",
Limit = 20
})
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
logs.NewQueryDefinition(this, jsii.String("QueryDefinition"), &QueryDefinitionProps{
QueryDefinitionName: jsii.String("MyQuery"),
QueryString: logs.NewQueryString(&QueryStringProps{
Fields: []*string{
jsii.String("@timestamp"),
jsii.String("@message"),
},
ParseStatements: []*string{
jsii.String("@message \"[*] *\" as loggingType, loggingMessage"),
jsii.String("@message \"<*>: *\" as differentLoggingType, differentLoggingMessage"),
},
FilterStatements: []*string{
jsii.String("loggingType = \"ERROR\""),
jsii.String("loggingMessage = \"A very strange error occurred!\""),
},
StatsStatements: []*string{
jsii.String("count(loggingMessage) as loggingErrors"),
jsii.String("count(differentLoggingMessage) as differentLoggingErrors"),
},
Sort: jsii.String("@timestamp desc"),
Limit: jsii.Number(20),
}),
})
Properties
logGroupsoptionalILogGroupRef[]log_groupsoptionaltyping.List[ILogGroupRef]logGroupsoptionalList<ILogGroupRef>LogGroupsoptionalILogGroupRef[]LogGroupsoptional*[]ILogGroupRef#Specify certain log groups for the query definition.
Default: no specified log groups
queryDefinitionNamestringquery_definition_namestrqueryDefinitionNameStringQueryDefinitionNamestringQueryDefinitionName*stringrequired#Name of the query definition.
queryStringQueryStringquery_stringQueryStringqueryStringQueryStringQueryStringQueryStringQueryStringQueryStringrequired#The query string to use for this query definition.