listStatements method
List of SQL statements. By default, only finished statements are shown. A token is returned to page through the statement list.
When you use identity-enhanced role sessions to list statements, you must
provide either the cluster-identifier or
workgroup-name parameter. This ensures that the IdC user can
only access the Amazon Redshift IdC applications they are assigned. For
more information, see
Trusted identity propagation overview.
For more information about the Amazon Redshift Data API and CLI usage examples, see Using the Amazon Redshift Data API in the Amazon Redshift Management Guide.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ValidationException.
Parameter clusterIdentifier :
The cluster identifier. Only statements that ran on this cluster are
returned. When providing ClusterIdentifier, then
WorkgroupName can't be specified.
Parameter database :
The name of the database when listing statements run against a
ClusterIdentifier or WorkgroupName.
Parameter maxResults :
The maximum number of SQL statements to return in the response. If more
SQL statements exist than fit in one response, then NextToken
is returned to page through the results.
Parameter nextToken :
A value that indicates the starting point for the next set of response
records in a subsequent request. If a value is returned in a response, you
can retrieve the next set of records by providing this returned NextToken
value in the next NextToken parameter and retrying the command. If the
NextToken field is empty, all response records have been retrieved for the
request.
Parameter roleLevel :
A value that filters which statements to return in the response. If true,
all statements run by the caller's IAM role are returned. If false, only
statements run by the caller's IAM role in the current IAM session are
returned. The default is true.
Parameter statementName :
The name of the SQL statement specified as input to
BatchExecuteStatement or ExecuteStatement to
identify the query. You can list multiple statements by providing a prefix
that matches the beginning of the statement name. For example, to list
myStatement1, myStatement2, myStatement3, and so on, then provide the a
value of myStatement. Data API does a case-sensitive match of
SQL statement names to the prefix value you provide.
Parameter status :
The status of the SQL statement to list. Status values are defined as
follows:
- ABORTED - The query run was stopped by the user.
- ALL - A status value that includes all query statuses. This value can be used to filter results.
- FAILED - The query run failed.
- FINISHED - The query has finished running.
- PICKED - The query has been chosen to be run.
- STARTED - The query run has started.
- SUBMITTED - The query was submitted, but not yet processed.
Parameter workgroupName :
The serverless workgroup name or Amazon Resource Name (ARN). Only
statements that ran on this workgroup are returned. When providing
WorkgroupName, then ClusterIdentifier can't be
specified.
Implementation
Future<ListStatementsResponse> listStatements({
String? clusterIdentifier,
String? database,
int? maxResults,
String? nextToken,
bool? roleLevel,
String? statementName,
StatusString? status,
String? workgroupName,
}) async {
_s.validateNumRange(
'maxResults',
maxResults,
0,
100,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'RedshiftData.ListStatements'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
if (clusterIdentifier != null) 'ClusterIdentifier': clusterIdentifier,
if (database != null) 'Database': database,
if (maxResults != null) 'MaxResults': maxResults,
if (nextToken != null) 'NextToken': nextToken,
if (roleLevel != null) 'RoleLevel': roleLevel,
if (statementName != null) 'StatementName': statementName,
if (status != null) 'Status': status.value,
if (workgroupName != null) 'WorkgroupName': workgroupName,
},
);
return ListStatementsResponse.fromJson(jsonResponse.body);
}