Skip to content
GitHubXDiscord

QueryDefinition

The QueryDefinition resource lets you manage AWS Logs QueryDefinitions for defining queries on log data.

Create a basic query definition with required properties and a common optional property:

import AWS from "alchemy/aws/control";
const basicQueryDefinition = await AWS.Logs.QueryDefinition("basicQuery", {
Name: "ErrorLogQuery",
QueryString: "fields @timestamp, @message | sort @timestamp desc | limit 20",
LogGroupNames: ["application-logs"]
});

Define a query with additional configuration such as specifying the query language:

const advancedQueryDefinition = await AWS.Logs.QueryDefinition("advancedQuery", {
Name: "DebugLogQuery",
QueryString: "fields @timestamp, @message | filter @message like /DEBUG/ | sort @timestamp desc | limit 20",
LogGroupNames: ["application-logs", "system-logs"],
QueryLanguage: "SQL"
});

Create a query definition that adopts an existing resource if it already exists:

const adoptedQueryDefinition = await AWS.Logs.QueryDefinition("adoptedQuery", {
Name: "AdoptedErrorLogQuery",
QueryString: "fields @timestamp, @message | filter @message like /ERROR/",
LogGroupNames: ["application-logs"],
adopt: true
});