getDimensionKeyDetails method
Get the attributes of the specified dimension group for a DB instance or
data source. For example, if you specify a SQL ID,
GetDimensionKeyDetails retrieves the full text of the
dimension db.sql.statement associated with this ID. This
operation is useful because GetResourceMetrics and
DescribeDimensionKeys don't support retrieval of large SQL
statement text, lock snapshots, and execution plans.
May throw InternalServiceError.
May throw InvalidArgumentException.
May throw NotAuthorizedException.
Parameter group :
The name of the dimension group. Performance Insights searches the
specified group for the dimension group ID. The following group name
values are valid:
-
db.execution_plan(Amazon RDS and Aurora only) -
db.lock_snapshot(Aurora only) -
db.query(Amazon DocumentDB only) -
db.sql(Amazon RDS and Aurora only)
Parameter groupIdentifier :
The ID of the dimension group from which to retrieve dimension details.
For dimension group db.sql, the group ID is
db.sql.id. The following group ID values are valid:
-
db.execution_plan.idfor dimension groupdb.execution_plan(Aurora and RDS only) -
db.sql.idfor dimension groupdb.sql(Aurora and RDS only) -
db.query.idfor dimension groupdb.query(DocumentDB only) -
For the dimension group
db.lock_snapshot, theGroupIdentifieris the epoch timestamp when Performance Insights captured the snapshot, in seconds. You can retrieve this value with theGetResourceMetricsoperation for a 1 second period.
Parameter identifier :
The ID for a data source from which to gather dimension data. This ID must
be immutable and unique within an Amazon Web Services Region. When a DB
instance is the data source, specify its DbiResourceId value.
For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X.
Parameter serviceType :
The Amazon Web Services service for which Performance Insights returns
data. The only valid value is RDS.
Parameter requestedDimensions :
A list of dimensions to retrieve the detail data for within the given
dimension group. If you don't specify this parameter, Performance Insights
returns all dimension data within the specified dimension group. Specify
dimension names for the following dimension groups:
-
db.execution_plan- Specify the dimension namedb.execution_plan.raw_planor the short dimension nameraw_plan(Amazon RDS and Aurora only) -
db.lock_snapshot- Specify the dimension namedb.lock_snapshot.lock_treesor the short dimension namelock_trees. (Aurora only) -
db.sql- Specify either the full dimension namedb.sql.statementor the short dimension namestatement(Aurora and RDS only). -
db.query- Specify either the full dimension namedb.query.statementor the short dimension namestatement(DocumentDB only).
Implementation
Future<GetDimensionKeyDetailsResponse> getDimensionKeyDetails({
required String group,
required String groupIdentifier,
required String identifier,
required ServiceType serviceType,
List<String>? requestedDimensions,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'PerformanceInsightsv20180227.GetDimensionKeyDetails'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Group': group,
'GroupIdentifier': groupIdentifier,
'Identifier': identifier,
'ServiceType': serviceType.value,
if (requestedDimensions != null)
'RequestedDimensions': requestedDimensions,
},
);
return GetDimensionKeyDetailsResponse.fromJson(jsonResponse.body);
}