startQuery method
Start a query to return data for a specific query type for the Amazon
CloudWatch Internet Monitor query interface. Specify a time period for the
data that you want returned by using StartTime and
EndTime. You filter the query results to return by providing
parameters that you specify with FilterParameters.
For more information about using the query interface, including examples, see Using the Amazon CloudWatch Internet Monitor query interface in the Amazon CloudWatch Internet Monitor User Guide.
May throw AccessDeniedException.
May throw InternalServerException.
May throw LimitExceededException.
May throw ThrottlingException.
May throw ValidationException.
Parameter endTime :
The timestamp that is the end of the period that you want to retrieve data
for with your query.
Parameter monitorName :
The name of the monitor to query.
Parameter queryType :
The type of query to run. The following are the three types of queries
that you can run using the Internet Monitor query interface:
-
MEASUREMENTS: Provides availability score, performance score, total traffic, and round-trip times, at 5 minute intervals. -
TOP_LOCATIONS: Provides availability score, performance score, total traffic, and time to first byte (TTFB) information, for the top location and ASN combinations that you're monitoring, by traffic volume. -
TOP_LOCATION_DETAILS: Provides TTFB for Amazon CloudFront, your current configuration, and the best performing EC2 configuration, at 1 hour intervals. -
OVERALL_TRAFFIC_SUGGESTIONS: Provides TTFB, using a 30-day weighted average, for all traffic in each Amazon Web Services location that is monitored. -
OVERALL_TRAFFIC_SUGGESTIONS_DETAILS: Provides TTFB, using a 30-day weighted average, for each top location, for a proposed Amazon Web Services location. Must provide an Amazon Web Services location to search. -
ROUTING_SUGGESTIONS: Provides the predicted average round-trip time (RTT) from an IP prefix toward an Amazon Web Services location for a DNS resolver. The RTT is calculated at one hour intervals, over a one hour period.
Parameter startTime :
The timestamp that is the beginning of the period that you want to
retrieve data for with your query.
Parameter filterParameters :
The FilterParameters field that you use with Amazon
CloudWatch Internet Monitor queries is a string the defines how you want a
query to be filtered. The filter parameters that you can specify depend on
the query type, since each query type returns a different set of Internet
Monitor data.
For more information about specifying filter parameters, see Using the Amazon CloudWatch Internet Monitor query interface in the Amazon CloudWatch Internet Monitor User Guide.
Parameter linkedAccountId :
The account ID for an account that you've set up cross-account sharing for
in Amazon CloudWatch Internet Monitor. You configure cross-account sharing
by using Amazon CloudWatch Observability Access Manager. For more
information, see Internet
Monitor cross-account observability in the Amazon CloudWatch Internet
Monitor User Guide.
Implementation
Future<StartQueryOutput> startQuery({
required DateTime endTime,
required String monitorName,
required QueryType queryType,
required DateTime startTime,
List<FilterParameter>? filterParameters,
String? linkedAccountId,
}) async {
final $payload = <String, dynamic>{
'EndTime': iso8601ToJson(endTime),
'QueryType': queryType.value,
'StartTime': iso8601ToJson(startTime),
if (filterParameters != null) 'FilterParameters': filterParameters,
if (linkedAccountId != null) 'LinkedAccountId': linkedAccountId,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri:
'/v20210603/Monitors/${Uri.encodeComponent(monitorName)}/Queries',
exceptionFnMap: _exceptionFns,
);
return StartQueryOutput.fromJson(response);
}