Table of Contents
RedshiftDataAPIService.
Client
¶A low-level client representing Redshift Data API Service
You can use the Amazon Redshift Data API to run queries on Amazon Redshift tables. You can run SQL statements, which are committed if the statement succeeds.
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 .
import boto3
client = boto3.client('redshift-data')
These are the available methods:
batch_execute_statement()
can_paginate()
cancel_statement()
close()
describe_statement()
describe_table()
execute_statement()
get_paginator()
get_statement_result()
get_waiter()
list_databases()
list_schemas()
list_statements()
list_tables()
batch_execute_statement
(**kwargs)¶Runs one or more SQL statements, which can be data manipulation language (DML) or data definition language (DDL). Depending on the authorization method, use one of the following combinations of request parameters:
redshift:GetClusterCredentials
operation is required. When connecting to a serverless workgroup, specify the workgroup name and database name. Also, permission to call the redshift-serverless:GetCredentials
operation is required.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 .
See also: AWS API Documentation
Request Syntax
response = client.batch_execute_statement(
ClientToken='string',
ClusterIdentifier='string',
Database='string',
DbUser='string',
SecretArn='string',
Sqls=[
'string',
],
StatementName='string',
WithEvent=True|False,
WorkgroupName='string'
)
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
This field is autopopulated if not provided.
[REQUIRED]
The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials.
[REQUIRED]
One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.</p>
dict
Response Syntax
{
'ClusterIdentifier': 'string',
'CreatedAt': datetime(2015, 1, 1),
'Database': 'string',
'DbUser': 'string',
'Id': 'string',
'SecretArn': 'string',
'WorkgroupName': 'string'
}
Response Structure
(dict) --
ClusterIdentifier (string) --
The cluster identifier. This element is not returned when connecting to a serverless workgroup.
CreatedAt (datetime) --
The date and time (UTC) the statement was created.
Database (string) --
The name of the database.
DbUser (string) --
The database user name.
Id (string) --
The identifier of the SQL statement whose results are to be fetched. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API. This identifier is returned by BatchExecuteStatment
.
SecretArn (string) --
The name or ARN of the secret that enables access to the database.
WorkgroupName (string) --
The serverless workgroup name. This element is not returned when connecting to a provisioned cluster.
Exceptions
RedshiftDataAPIService.Client.exceptions.ValidationException
RedshiftDataAPIService.Client.exceptions.ActiveStatementsExceededException
RedshiftDataAPIService.Client.exceptions.BatchExecuteStatementException
can_paginate
(operation_name)¶Check if an operation can be paginated.
create_foo
, and you'd normally invoke the
operation as client.create_foo(**kwargs)
, if the
create_foo
operation can be paginated, you can use the
call client.get_paginator("create_foo")
.True
if the operation can be paginated,
False
otherwise.cancel_statement
(**kwargs)¶Cancels a running query. To be canceled, a query must be running.
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 .
See also: AWS API Documentation
Request Syntax
response = client.cancel_statement(
Id='string'
)
[REQUIRED]
The identifier of the SQL statement to cancel. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API. This identifier is returned by BatchExecuteStatment
, ExecuteStatment
, and ListStatements
.
{
'Status': True|False
}
Response Structure
A value that indicates whether the cancel statement succeeded (true).
Exceptions
RedshiftDataAPIService.Client.exceptions.ValidationException
RedshiftDataAPIService.Client.exceptions.ResourceNotFoundException
RedshiftDataAPIService.Client.exceptions.InternalServerException
RedshiftDataAPIService.Client.exceptions.DatabaseConnectionException
close
()¶Closes underlying endpoint connections.
describe_statement
(**kwargs)¶Describes the details about a specific instance when a query was run by the Amazon Redshift Data API. The information includes when the query started, when it finished, the query status, the number of rows returned, and the SQL statement.
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 .
See also: AWS API Documentation
Request Syntax
response = client.describe_statement(
Id='string'
)
[REQUIRED]
The identifier of the SQL statement to describe. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API. A suffix indicates the number of the SQL statement. For example, d9b6c0c9-0747-4bf4-b142-e8883122f766:2
has a suffix of :2
that indicates the second SQL statement of a batch query. This identifier is returned by BatchExecuteStatment
, ExecuteStatement
, and ListStatements
.
{
'ClusterIdentifier': 'string',
'CreatedAt': datetime(2015, 1, 1),
'Database': 'string',
'DbUser': 'string',
'Duration': 123,
'Error': 'string',
'HasResultSet': True|False,
'Id': 'string',
'QueryParameters': [
{
'name': 'string',
'value': 'string'
},
],
'QueryString': 'string',
'RedshiftPid': 123,
'RedshiftQueryId': 123,
'ResultRows': 123,
'ResultSize': 123,
'SecretArn': 'string',
'Status': 'SUBMITTED'|'PICKED'|'STARTED'|'FINISHED'|'ABORTED'|'FAILED'|'ALL',
'SubStatements': [
{
'CreatedAt': datetime(2015, 1, 1),
'Duration': 123,
'Error': 'string',
'HasResultSet': True|False,
'Id': 'string',
'QueryString': 'string',
'RedshiftQueryId': 123,
'ResultRows': 123,
'ResultSize': 123,
'Status': 'SUBMITTED'|'PICKED'|'STARTED'|'FINISHED'|'ABORTED'|'FAILED',
'UpdatedAt': datetime(2015, 1, 1)
},
],
'UpdatedAt': datetime(2015, 1, 1),
'WorkgroupName': 'string'
}
Response Structure
The cluster identifier.
The date and time (UTC) when the SQL statement was submitted to run.
The name of the database.
The database user name.
The amount of time in nanoseconds that the statement ran.
The error message from the cluster if the SQL statement encountered an error while running.
A value that indicates whether the statement has a result set. The result set can be empty. The value is true for an empty result set. The value is true if any substatement returns a result set.
The identifier of the SQL statement described. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API.
The parameters for the SQL statement.
A parameter used in a SQL statement.
The name of the parameter.
The value of the parameter. Amazon Redshift implicitly converts to the proper data type. For more information, see Data types in the Amazon Redshift Database Developer Guide .
The SQL statement text.
The process identifier from Amazon Redshift.
The identifier of the query generated by Amazon Redshift. These identifiers are also available in the query
column of the STL_QUERY
system view.
Either the number of rows returned from the SQL statement or the number of rows affected. If result size is greater than zero, the result rows can be the number of rows affected by SQL statements such as INSERT, UPDATE, DELETE, COPY, and others. A -1
indicates the value is null.
The size in bytes of the returned results. A -1
indicates the value is null.
The name or Amazon Resource Name (ARN) of the secret that enables access to the database.
The status of the SQL statement being described. Status values are defined as follows:
The SQL statements from a multiple statement run.
Information about an SQL statement.
The date and time (UTC) the statement was created.
The amount of time in nanoseconds that the statement ran.
The error message from the cluster if the SQL statement encountered an error while running.
A value that indicates whether the statement has a result set. The result set can be empty. The value is true for an empty result set.
The identifier of the SQL statement. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API. A suffix indicates the number of the SQL statement. For example, d9b6c0c9-0747-4bf4-b142-e8883122f766:2
has a suffix of :2
that indicates the second SQL statement of a batch query.
The SQL statement text.
The SQL statement identifier. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API.
Either the number of rows returned from the SQL statement or the number of rows affected. If result size is greater than zero, the result rows can be the number of rows affected by SQL statements such as INSERT, UPDATE, DELETE, COPY, and others. A -1
indicates the value is null.
The size in bytes of the returned results. A -1
indicates the value is null.
The status of the SQL statement. An example is the that the SQL statement finished.
The date and time (UTC) that the statement metadata was last updated.
The date and time (UTC) that the metadata for the SQL statement was last updated. An example is the time the status last changed.
The serverless workgroup name.
Exceptions
RedshiftDataAPIService.Client.exceptions.ValidationException
RedshiftDataAPIService.Client.exceptions.ResourceNotFoundException
RedshiftDataAPIService.Client.exceptions.InternalServerException
describe_table
(**kwargs)¶Describes the detailed information about a table from metadata in the cluster. The information includes its columns. A token is returned to page through the column list. Depending on the authorization method, use one of the following combinations of request parameters:
redshift:GetClusterCredentials
operation is required. When connecting to a serverless workgroup, specify the workgroup name and database name. Also, permission to call the redshift-serverless:GetCredentials
operation is required.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 .
See also: AWS API Documentation
Request Syntax
response = client.describe_table(
ClusterIdentifier='string',
ConnectedDatabase='string',
Database='string',
DbUser='string',
MaxResults=123,
NextToken='string',
Schema='string',
SecretArn='string',
Table='string',
WorkgroupName='string'
)
[REQUIRED]
The name of the database that contains the tables to be described. If ConnectedDatabase
is not specified, this is also the database to connect to with your authentication credentials.
NextToken
is returned to page through the results.dict
Response Syntax
{
'ColumnList': [
{
'columnDefault': 'string',
'isCaseSensitive': True|False,
'isCurrency': True|False,
'isSigned': True|False,
'label': 'string',
'length': 123,
'name': 'string',
'nullable': 123,
'precision': 123,
'scale': 123,
'schemaName': 'string',
'tableName': 'string',
'typeName': 'string'
},
],
'NextToken': 'string',
'TableName': 'string'
}
Response Structure
(dict) --
ColumnList (list) --
A list of columns in the table.
(dict) --
The properties (metadata) of a column.
columnDefault (string) --
The default value of the column.
isCaseSensitive (boolean) --
A value that indicates whether the column is case-sensitive.
isCurrency (boolean) --
A value that indicates whether the column contains currency values.
isSigned (boolean) --
A value that indicates whether an integer column is signed.
label (string) --
The label for the column.
length (integer) --
The length of the column.
name (string) --
The name of the column.
nullable (integer) --
A value that indicates whether the column is nullable.
precision (integer) --
The precision value of a decimal number column.
scale (integer) --
The scale value of a decimal number column.
schemaName (string) --
The name of the schema that contains the table that includes the column.
tableName (string) --
The name of the table that includes the column.
typeName (string) --
The database-specific data type of the column.
NextToken (string) --
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.
TableName (string) --
The table name.
Exceptions
RedshiftDataAPIService.Client.exceptions.ValidationException
RedshiftDataAPIService.Client.exceptions.InternalServerException
RedshiftDataAPIService.Client.exceptions.DatabaseConnectionException
execute_statement
(**kwargs)¶Runs an SQL statement, which can be data manipulation language (DML) or data definition language (DDL). This statement must be a single SQL statement. Depending on the authorization method, use one of the following combinations of request parameters:
redshift:GetClusterCredentials
operation is required. When connecting to a serverless workgroup, specify the workgroup name and database name. Also, permission to call the redshift-serverless:GetCredentials
operation is required.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 .
See also: AWS API Documentation
Request Syntax
response = client.execute_statement(
ClientToken='string',
ClusterIdentifier='string',
Database='string',
DbUser='string',
Parameters=[
{
'name': 'string',
'value': 'string'
},
],
SecretArn='string',
Sql='string',
StatementName='string',
WithEvent=True|False,
WorkgroupName='string'
)
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
This field is autopopulated if not provided.
[REQUIRED]
The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials.
The parameters for the SQL statement.
A parameter used in a SQL statement.
The name of the parameter.
The value of the parameter. Amazon Redshift implicitly converts to the proper data type. For more information, see Data types in the Amazon Redshift Database Developer Guide .
[REQUIRED]
The SQL statement text to run.
dict
Response Syntax
{
'ClusterIdentifier': 'string',
'CreatedAt': datetime(2015, 1, 1),
'Database': 'string',
'DbUser': 'string',
'Id': 'string',
'SecretArn': 'string',
'WorkgroupName': 'string'
}
Response Structure
(dict) --
ClusterIdentifier (string) --
The cluster identifier. This element is not returned when connecting to a serverless workgroup.
CreatedAt (datetime) --
The date and time (UTC) the statement was created.
Database (string) --
The name of the database.
DbUser (string) --
The database user name.
Id (string) --
The identifier of the SQL statement whose results are to be fetched. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API.
SecretArn (string) --
The name or ARN of the secret that enables access to the database.
WorkgroupName (string) --
The serverless workgroup name. This element is not returned when connecting to a provisioned cluster.
Exceptions
RedshiftDataAPIService.Client.exceptions.ValidationException
RedshiftDataAPIService.Client.exceptions.ExecuteStatementException
RedshiftDataAPIService.Client.exceptions.ActiveStatementsExceededException
get_paginator
(operation_name)¶Create a paginator for an operation.
create_foo
, and you'd normally invoke the
operation as client.create_foo(**kwargs)
, if the
create_foo
operation can be paginated, you can use the
call client.get_paginator("create_foo")
.client.can_paginate
method to
check if an operation is pageable.get_statement_result
(**kwargs)¶Fetches the temporarily cached result of an SQL statement. A token is returned to page through the statement results.
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 .
See also: AWS API Documentation
Request Syntax
response = client.get_statement_result(
Id='string',
NextToken='string'
)
[REQUIRED]
The identifier of the SQL statement whose results are to be fetched. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API. A suffix indicates then number of the SQL statement. For example, d9b6c0c9-0747-4bf4-b142-e8883122f766:2
has a suffix of :2
that indicates the second SQL statement of a batch query. This identifier is returned by BatchExecuteStatment
, ExecuteStatment
, and ListStatements
.
dict
Response Syntax
{
'ColumnMetadata': [
{
'columnDefault': 'string',
'isCaseSensitive': True|False,
'isCurrency': True|False,
'isSigned': True|False,
'label': 'string',
'length': 123,
'name': 'string',
'nullable': 123,
'precision': 123,
'scale': 123,
'schemaName': 'string',
'tableName': 'string',
'typeName': 'string'
},
],
'NextToken': 'string',
'Records': [
[
{
'blobValue': b'bytes',
'booleanValue': True|False,
'doubleValue': 123.0,
'isNull': True|False,
'longValue': 123,
'stringValue': 'string'
},
],
],
'TotalNumRows': 123
}
Response Structure
(dict) --
ColumnMetadata (list) --
The properties (metadata) of a column.
(dict) --
The properties (metadata) of a column.
columnDefault (string) --
The default value of the column.
isCaseSensitive (boolean) --
A value that indicates whether the column is case-sensitive.
isCurrency (boolean) --
A value that indicates whether the column contains currency values.
isSigned (boolean) --
A value that indicates whether an integer column is signed.
label (string) --
The label for the column.
length (integer) --
The length of the column.
name (string) --
The name of the column.
nullable (integer) --
A value that indicates whether the column is nullable.
precision (integer) --
The precision value of a decimal number column.
scale (integer) --
The scale value of a decimal number column.
schemaName (string) --
The name of the schema that contains the table that includes the column.
tableName (string) --
The name of the table that includes the column.
typeName (string) --
The database-specific data type of the column.
NextToken (string) --
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.
Records (list) --
The results of the SQL statement.
(list) --
(dict) --
A data value in a column.
Note
This is a Tagged Union structure. Only one of the following top level keys will be set: blobValue
, booleanValue
, doubleValue
, isNull
, longValue
, stringValue
. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER
as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER
is as follows:
'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
blobValue (bytes) --
A value of the BLOB data type.
booleanValue (boolean) --
A value of the Boolean data type.
doubleValue (float) --
A value of the double data type.
isNull (boolean) --
A value that indicates whether the data is NULL.
longValue (integer) --
A value of the long data type.
stringValue (string) --
A value of the string data type.
TotalNumRows (integer) --
The total number of rows in the result set returned from a query. You can use this number to estimate the number of calls to the GetStatementResult
operation needed to page through the results.
Exceptions
RedshiftDataAPIService.Client.exceptions.ValidationException
RedshiftDataAPIService.Client.exceptions.ResourceNotFoundException
RedshiftDataAPIService.Client.exceptions.InternalServerException
get_waiter
(waiter_name)¶Returns an object that can wait for some condition.
list_databases
(**kwargs)¶List the databases in a cluster. A token is returned to page through the database list. Depending on the authorization method, use one of the following combinations of request parameters:
redshift:GetClusterCredentials
operation is required. When connecting to a serverless workgroup, specify the workgroup name and database name. Also, permission to call the redshift-serverless:GetCredentials
operation is required.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 .
See also: AWS API Documentation
Request Syntax
response = client.list_databases(
ClusterIdentifier='string',
Database='string',
DbUser='string',
MaxResults=123,
NextToken='string',
SecretArn='string',
WorkgroupName='string'
)
[REQUIRED]
The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials.
NextToken
is returned to page through the results.dict
Response Syntax
{
'Databases': [
'string',
],
'NextToken': 'string'
}
Response Structure
(dict) --
Databases (list) --
The names of databases.
NextToken (string) --
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.
Exceptions
RedshiftDataAPIService.Client.exceptions.ValidationException
RedshiftDataAPIService.Client.exceptions.InternalServerException
RedshiftDataAPIService.Client.exceptions.DatabaseConnectionException
list_schemas
(**kwargs)¶Lists the schemas in a database. A token is returned to page through the schema list. Depending on the authorization method, use one of the following combinations of request parameters:
redshift:GetClusterCredentials
operation is required. When connecting to a serverless workgroup, specify the workgroup name and database name. Also, permission to call the redshift-serverless:GetCredentials
operation is required.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 .
See also: AWS API Documentation
Request Syntax
response = client.list_schemas(
ClusterIdentifier='string',
ConnectedDatabase='string',
Database='string',
DbUser='string',
MaxResults=123,
NextToken='string',
SchemaPattern='string',
SecretArn='string',
WorkgroupName='string'
)
[REQUIRED]
The name of the database that contains the schemas to list. If ConnectedDatabase
is not specified, this is also the database to connect to with your authentication credentials.
NextToken
is returned to page through the results.dict
Response Syntax
{
'NextToken': 'string',
'Schemas': [
'string',
]
}
Response Structure
(dict) --
NextToken (string) --
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.
Schemas (list) --
The schemas that match the request pattern.
Exceptions
RedshiftDataAPIService.Client.exceptions.ValidationException
RedshiftDataAPIService.Client.exceptions.InternalServerException
RedshiftDataAPIService.Client.exceptions.DatabaseConnectionException
list_statements
(**kwargs)¶List of SQL statements. By default, only finished statements are shown. A token is returned to page through the statement list.
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 .
See also: AWS API Documentation
Request Syntax
response = client.list_statements(
MaxResults=123,
NextToken='string',
RoleLevel=True|False,
StatementName='string',
Status='SUBMITTED'|'PICKED'|'STARTED'|'FINISHED'|'ABORTED'|'FAILED'|'ALL'
)
NextToken
is returned to page through the results.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.The status of the SQL statement to list. Status values are defined as follows:
dict
Response Syntax
{
'NextToken': 'string',
'Statements': [
{
'CreatedAt': datetime(2015, 1, 1),
'Id': 'string',
'IsBatchStatement': True|False,
'QueryParameters': [
{
'name': 'string',
'value': 'string'
},
],
'QueryString': 'string',
'QueryStrings': [
'string',
],
'SecretArn': 'string',
'StatementName': 'string',
'Status': 'SUBMITTED'|'PICKED'|'STARTED'|'FINISHED'|'ABORTED'|'FAILED'|'ALL',
'UpdatedAt': datetime(2015, 1, 1)
},
]
}
Response Structure
(dict) --
NextToken (string) --
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.
Statements (list) --
The SQL statements.
(dict) --
The SQL statement to run.
CreatedAt (datetime) --
The date and time (UTC) the statement was created.
Id (string) --
The SQL statement identifier. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API.
IsBatchStatement (boolean) --
A value that indicates whether the statement is a batch query request.
QueryParameters (list) --
The parameters used in a SQL statement.
(dict) --
A parameter used in a SQL statement.
name (string) --
The name of the parameter.
value (string) --
The value of the parameter. Amazon Redshift implicitly converts to the proper data type. For more information, see Data types in the Amazon Redshift Database Developer Guide .
QueryString (string) --
The SQL statement.
QueryStrings (list) --
One or more SQL statements. Each query string in the array corresponds to one of the queries in a batch query request.
SecretArn (string) --
The name or Amazon Resource Name (ARN) of the secret that enables access to the database.
StatementName (string) --
The name of the SQL statement.
Status (string) --
The status of the SQL statement. An example is the that the SQL statement finished.
UpdatedAt (datetime) --
The date and time (UTC) that the statement metadata was last updated.
Exceptions
RedshiftDataAPIService.Client.exceptions.ValidationException
RedshiftDataAPIService.Client.exceptions.InternalServerException
list_tables
(**kwargs)¶List the tables in a database. If neither SchemaPattern
nor TablePattern
are specified, then all tables in the database are returned. A token is returned to page through the table list. Depending on the authorization method, use one of the following combinations of request parameters:
redshift:GetClusterCredentials
operation is required. When connecting to a serverless workgroup, specify the workgroup name and database name. Also, permission to call the redshift-serverless:GetCredentials
operation is required.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 .
See also: AWS API Documentation
Request Syntax
response = client.list_tables(
ClusterIdentifier='string',
ConnectedDatabase='string',
Database='string',
DbUser='string',
MaxResults=123,
NextToken='string',
SchemaPattern='string',
SecretArn='string',
TablePattern='string',
WorkgroupName='string'
)
[REQUIRED]
The name of the database that contains the tables to list. If ConnectedDatabase
is not specified, this is also the database to connect to with your authentication credentials.
NextToken
is returned to page through the results.SchemaPattern
is not specified, then all tables that match TablePattern
are returned. If neither SchemaPattern
or TablePattern
are specified, then all tables are returned.TablePattern
is not specified, then all tables that match SchemaPattern
are returned. If neither SchemaPattern
or TablePattern
are specified, then all tables are returned.dict
Response Syntax
{
'NextToken': 'string',
'Tables': [
{
'name': 'string',
'schema': 'string',
'type': 'string'
},
]
}
Response Structure
(dict) --
NextToken (string) --
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.
Tables (list) --
The tables that match the request pattern.
(dict) --
The properties of a table.
name (string) --
The name of the table.
schema (string) --
The schema containing the table.
type (string) --
The type of the table. Possible values include TABLE, VIEW, SYSTEM TABLE, GLOBAL TEMPORARY, LOCAL TEMPORARY, ALIAS, and SYNONYM.
Exceptions
RedshiftDataAPIService.Client.exceptions.ValidationException
RedshiftDataAPIService.Client.exceptions.InternalServerException
RedshiftDataAPIService.Client.exceptions.DatabaseConnectionException
The available paginators are:
RedshiftDataAPIService.Paginator.DescribeTable
RedshiftDataAPIService.Paginator.GetStatementResult
RedshiftDataAPIService.Paginator.ListDatabases
RedshiftDataAPIService.Paginator.ListSchemas
RedshiftDataAPIService.Paginator.ListStatements
RedshiftDataAPIService.Paginator.ListTables
RedshiftDataAPIService.Paginator.
DescribeTable
¶paginator = client.get_paginator('describe_table')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from RedshiftDataAPIService.Client.describe_table()
.
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
ClusterIdentifier='string',
ConnectedDatabase='string',
Database='string',
DbUser='string',
Schema='string',
SecretArn='string',
Table='string',
WorkgroupName='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
[REQUIRED]
The name of the database that contains the tables to be described. If ConnectedDatabase
is not specified, this is also the database to connect to with your authentication credentials.
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken
will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken
from a previous response.
dict
Response Syntax
{
'ColumnList': [
{
'columnDefault': 'string',
'isCaseSensitive': True|False,
'isCurrency': True|False,
'isSigned': True|False,
'label': 'string',
'length': 123,
'name': 'string',
'nullable': 123,
'precision': 123,
'scale': 123,
'schemaName': 'string',
'tableName': 'string',
'typeName': 'string'
},
],
'TableName': 'string'
}
Response Structure
(dict) --
ColumnList (list) --
A list of columns in the table.
(dict) --
The properties (metadata) of a column.
columnDefault (string) --
The default value of the column.
isCaseSensitive (boolean) --
A value that indicates whether the column is case-sensitive.
isCurrency (boolean) --
A value that indicates whether the column contains currency values.
isSigned (boolean) --
A value that indicates whether an integer column is signed.
label (string) --
The label for the column.
length (integer) --
The length of the column.
name (string) --
The name of the column.
nullable (integer) --
A value that indicates whether the column is nullable.
precision (integer) --
The precision value of a decimal number column.
scale (integer) --
The scale value of a decimal number column.
schemaName (string) --
The name of the schema that contains the table that includes the column.
tableName (string) --
The name of the table that includes the column.
typeName (string) --
The database-specific data type of the column.
TableName (string) --
The table name.
RedshiftDataAPIService.Paginator.
GetStatementResult
¶paginator = client.get_paginator('get_statement_result')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from RedshiftDataAPIService.Client.get_statement_result()
.
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
Id='string',
PaginationConfig={
'MaxItems': 123,
'StartingToken': 'string'
}
)
[REQUIRED]
The identifier of the SQL statement whose results are to be fetched. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API. A suffix indicates then number of the SQL statement. For example, d9b6c0c9-0747-4bf4-b142-e8883122f766:2
has a suffix of :2
that indicates the second SQL statement of a batch query. This identifier is returned by BatchExecuteStatment
, ExecuteStatment
, and ListStatements
.
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken
will be provided in the output that you can use to resume pagination.
A token to specify where to start paginating. This is the NextToken
from a previous response.
dict
Response Syntax
{
'ColumnMetadata': [
{
'columnDefault': 'string',
'isCaseSensitive': True|False,
'isCurrency': True|False,
'isSigned': True|False,
'label': 'string',
'length': 123,
'name': 'string',
'nullable': 123,
'precision': 123,
'scale': 123,
'schemaName': 'string',
'tableName': 'string',
'typeName': 'string'
},
],
'Records': [
[
{
'blobValue': b'bytes',
'booleanValue': True|False,
'doubleValue': 123.0,
'isNull': True|False,
'longValue': 123,
'stringValue': 'string'
},
],
],
'TotalNumRows': 123
}
Response Structure
(dict) --
ColumnMetadata (list) --
The properties (metadata) of a column.
(dict) --
The properties (metadata) of a column.
columnDefault (string) --
The default value of the column.
isCaseSensitive (boolean) --
A value that indicates whether the column is case-sensitive.
isCurrency (boolean) --
A value that indicates whether the column contains currency values.
isSigned (boolean) --
A value that indicates whether an integer column is signed.
label (string) --
The label for the column.
length (integer) --
The length of the column.
name (string) --
The name of the column.
nullable (integer) --
A value that indicates whether the column is nullable.
precision (integer) --
The precision value of a decimal number column.
scale (integer) --
The scale value of a decimal number column.
schemaName (string) --
The name of the schema that contains the table that includes the column.
tableName (string) --
The name of the table that includes the column.
typeName (string) --
The database-specific data type of the column.
Records (list) --
The results of the SQL statement.
(list) --
(dict) --
A data value in a column.
Note
This is a Tagged Union structure. Only one of the following top level keys will be set: blobValue
, booleanValue
, doubleValue
, isNull
, longValue
, stringValue
. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER
as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER
is as follows:
'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
blobValue (bytes) --
A value of the BLOB data type.
booleanValue (boolean) --
A value of the Boolean data type.
doubleValue (float) --
A value of the double data type.
isNull (boolean) --
A value that indicates whether the data is NULL.
longValue (integer) --
A value of the long data type.
stringValue (string) --
A value of the string data type.
TotalNumRows (integer) --
The total number of rows in the result set returned from a query. You can use this number to estimate the number of calls to the GetStatementResult
operation needed to page through the results.
RedshiftDataAPIService.Paginator.
ListDatabases
¶paginator = client.get_paginator('list_databases')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from RedshiftDataAPIService.Client.list_databases()
.
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
ClusterIdentifier='string',
Database='string',
DbUser='string',
SecretArn='string',
WorkgroupName='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
[REQUIRED]
The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials.
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken
will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken
from a previous response.
dict
Response Syntax
{
'Databases': [
'string',
],
}
Response Structure
(dict) --
Databases (list) --
The names of databases.
RedshiftDataAPIService.Paginator.
ListSchemas
¶paginator = client.get_paginator('list_schemas')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from RedshiftDataAPIService.Client.list_schemas()
.
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
ClusterIdentifier='string',
ConnectedDatabase='string',
Database='string',
DbUser='string',
SchemaPattern='string',
SecretArn='string',
WorkgroupName='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
[REQUIRED]
The name of the database that contains the schemas to list. If ConnectedDatabase
is not specified, this is also the database to connect to with your authentication credentials.
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken
will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken
from a previous response.
dict
Response Syntax
{
'Schemas': [
'string',
]
}
Response Structure
(dict) --
Schemas (list) --
The schemas that match the request pattern.
RedshiftDataAPIService.Paginator.
ListStatements
¶paginator = client.get_paginator('list_statements')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from RedshiftDataAPIService.Client.list_statements()
.
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
RoleLevel=True|False,
StatementName='string',
Status='SUBMITTED'|'PICKED'|'STARTED'|'FINISHED'|'ABORTED'|'FAILED'|'ALL',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
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.The status of the SQL statement to list. Status values are defined as follows:
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken
will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken
from a previous response.
dict
Response Syntax
{
'Statements': [
{
'CreatedAt': datetime(2015, 1, 1),
'Id': 'string',
'IsBatchStatement': True|False,
'QueryParameters': [
{
'name': 'string',
'value': 'string'
},
],
'QueryString': 'string',
'QueryStrings': [
'string',
],
'SecretArn': 'string',
'StatementName': 'string',
'Status': 'SUBMITTED'|'PICKED'|'STARTED'|'FINISHED'|'ABORTED'|'FAILED'|'ALL',
'UpdatedAt': datetime(2015, 1, 1)
},
]
}
Response Structure
(dict) --
Statements (list) --
The SQL statements.
(dict) --
The SQL statement to run.
CreatedAt (datetime) --
The date and time (UTC) the statement was created.
Id (string) --
The SQL statement identifier. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API.
IsBatchStatement (boolean) --
A value that indicates whether the statement is a batch query request.
QueryParameters (list) --
The parameters used in a SQL statement.
(dict) --
A parameter used in a SQL statement.
name (string) --
The name of the parameter.
value (string) --
The value of the parameter. Amazon Redshift implicitly converts to the proper data type. For more information, see Data types in the Amazon Redshift Database Developer Guide .
QueryString (string) --
The SQL statement.
QueryStrings (list) --
One or more SQL statements. Each query string in the array corresponds to one of the queries in a batch query request.
SecretArn (string) --
The name or Amazon Resource Name (ARN) of the secret that enables access to the database.
StatementName (string) --
The name of the SQL statement.
Status (string) --
The status of the SQL statement. An example is the that the SQL statement finished.
UpdatedAt (datetime) --
The date and time (UTC) that the statement metadata was last updated.
RedshiftDataAPIService.Paginator.
ListTables
¶paginator = client.get_paginator('list_tables')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from RedshiftDataAPIService.Client.list_tables()
.
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
ClusterIdentifier='string',
ConnectedDatabase='string',
Database='string',
DbUser='string',
SchemaPattern='string',
SecretArn='string',
TablePattern='string',
WorkgroupName='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
[REQUIRED]
The name of the database that contains the tables to list. If ConnectedDatabase
is not specified, this is also the database to connect to with your authentication credentials.
SchemaPattern
is not specified, then all tables that match TablePattern
are returned. If neither SchemaPattern
or TablePattern
are specified, then all tables are returned.TablePattern
is not specified, then all tables that match SchemaPattern
are returned. If neither SchemaPattern
or TablePattern
are specified, then all tables are returned.A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken
will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken
from a previous response.
dict
Response Syntax
{
'Tables': [
{
'name': 'string',
'schema': 'string',
'type': 'string'
},
]
}
Response Structure
(dict) --
Tables (list) --
The tables that match the request pattern.
(dict) --
The properties of a table.
name (string) --
The name of the table.
schema (string) --
The schema containing the table.
type (string) --
The type of the table. Possible values include TABLE, VIEW, SYSTEM TABLE, GLOBAL TEMPORARY, LOCAL TEMPORARY, ALIAS, and SYNONYM.