getLogGroupFields method
Returns a list of the fields that are included in log events in the specified log group. Includes the percentage of log events that contain each field. The search is limited to a time period that you specify.
This operation is used for discovering fields within log group events. For discovering fields across data sources, use the GetLogFields operation.
You can specify the log group to search by using either
logGroupIdentifier or logGroupName. You must
specify one of these parameters, but you can't specify both.
In the results, fields that start with @ are fields generated
by CloudWatch Logs. For example, @timestamp is the timestamp
of each log event. For more information about the fields that are
generated by CloudWatch logs, see Supported
Logs and Discovered Fields.
The response results are sorted by the frequency percentage, starting with the highest percentage.
If you are using CloudWatch cross-account observability, you can use this operation in a monitoring account and view data from the linked source accounts. For more information, see CloudWatch cross-account observability.
May throw InvalidParameterException.
May throw LimitExceededException.
May throw ResourceNotFoundException.
May throw ServiceUnavailableException.
Parameter logGroupIdentifier :
Specify either the name or ARN of the log group to view. If the log group
is in a source account and you are using a monitoring account, you must
specify the ARN.
Parameter logGroupName :
The name of the log group to search.
Parameter time :
The time to set as the center of the query. If you specify
time, the 8 minutes before and 8 minutes after this time are
searched. If you omit time, the most recent 15 minutes up to
the current time are searched.
The time value is specified as epoch time, which is the
number of seconds since January 1, 1970, 00:00:00 UTC.
Implementation
Future<GetLogGroupFieldsResponse> getLogGroupFields({
String? logGroupIdentifier,
String? logGroupName,
int? time,
}) async {
_s.validateNumRange(
'time',
time,
0,
1152921504606846976,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'Logs_20140328.GetLogGroupFields'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
if (logGroupIdentifier != null)
'logGroupIdentifier': logGroupIdentifier,
if (logGroupName != null) 'logGroupName': logGroupName,
if (time != null) 'time': time,
},
);
return GetLogGroupFieldsResponse.fromJson(jsonResponse.body);
}