RedshiftDataAPIService / Client / execute_statement
execute_statement#
- RedshiftDataAPIService.Client.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: - Secrets Manager - when connecting to a cluster, provide the - secret-arnof a secret stored in Secrets Manager which has- usernameand- password. The specified secret contains credentials to connect to the- databaseyou specify. When you are connecting to a cluster, you also supply the database name, If you provide a cluster identifier (- dbClusterIdentifier), it must match the cluster identifier stored in the secret. When you are connecting to a serverless workgroup, you also supply the database name.
- Temporary credentials - when connecting to your data warehouse, choose one of the following options: - When connecting to a serverless workgroup, specify the workgroup name and database name. The database user name is derived from the IAM identity. For example, - arn:iam::123456789012:user:foohas the database user name- IAM:foo. Also, permission to call the- redshift-serverless:GetCredentialsoperation is required.
- When connecting to a cluster as an IAM identity, specify the cluster identifier and the database name. The database user name is derived from the IAM identity. For example, - arn:iam::123456789012:user:foohas the database user name- IAM:foo. Also, permission to call the- redshift:GetClusterCredentialsWithIAMoperation is required.
- When connecting to a cluster as a database user, specify the cluster identifier, the database name, and the database user name. Also, permission to call the - redshift:GetClusterCredentialsoperation 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' }, ], ResultFormat='JSON'|'CSV', SecretArn='string', SessionId='string', SessionKeepAliveSeconds=123, Sql='string', StatementName='string', WithEvent=True|False, WorkgroupName='string' ) - Parameters:
- ClientToken (string) – - A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - This field is autopopulated if not provided. 
- ClusterIdentifier (string) – The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials. 
- Database (string) – The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials. 
- DbUser (string) – The database user name. This parameter is required when connecting to a cluster as a database user and authenticating using temporary credentials. 
- Parameters (list) – - The parameters for the SQL statement. - (dict) – - A parameter used in a SQL statement. - name (string) – [REQUIRED] - The name of the parameter. 
- value (string) – [REQUIRED] - 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. 
 
 
- ResultFormat (string) – The data format of the result of the SQL statement. If no format is specified, the default is JSON. 
- SecretArn (string) – The name or ARN of the secret that enables access to the database. This parameter is required when authenticating using Secrets Manager. 
- SessionId (string) – The session identifier of the query. 
- SessionKeepAliveSeconds (integer) – The number of seconds to keep the session alive after the query finishes. The maximum time a session can keep alive is 24 hours. After 24 hours, the session is forced closed and the query is terminated. 
- Sql (string) – - [REQUIRED] - The SQL statement text to run. 
- StatementName (string) – The name of the SQL statement. You can name the SQL statement when you create it to identify the query. 
- WithEvent (boolean) – A value that indicates whether to send an event to the Amazon EventBridge event bus after the SQL statement runs. 
- WorkgroupName (string) – The serverless workgroup name or Amazon Resource Name (ARN). This parameter is required when connecting to a serverless workgroup and authenticating using either Secrets Manager or temporary credentials. 
 
- Return type:
- dict 
- Returns:
- Response Syntax- { 'ClusterIdentifier': 'string', 'CreatedAt': datetime(2015, 1, 1), 'Database': 'string', 'DbGroups': [ 'string', ], 'DbUser': 'string', 'Id': 'string', 'SecretArn': 'string', 'SessionId': '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. 
- DbGroups (list) – - A list of colon (:) separated names of database groups. - (string) – 
 
- 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. 
- SessionId (string) – - The session identifier of the query. 
- WorkgroupName (string) – - The serverless workgroup name or Amazon Resource Name (ARN). This element is not returned when connecting to a provisioned cluster. 
 
 
 - Exceptions- RedshiftDataAPIService.Client.exceptions.ValidationException
- RedshiftDataAPIService.Client.exceptions.ActiveSessionsExceededException
- RedshiftDataAPIService.Client.exceptions.ExecuteStatementException
- RedshiftDataAPIService.Client.exceptions.ActiveStatementsExceededException
- RedshiftDataAPIService.Client.exceptions.InternalServerException