execute_statement

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, specify the Amazon Resource Name (ARN) of the secret, the database name, and the cluster identifier that matches the cluster in the secret. When connecting to a serverless workgroup, specify the Amazon Resource Name (ARN) of the secret and the database name.
  • Temporary credentials - when connecting to a cluster, specify the cluster identifier, the database name, and the database user name. Also, permission to call the 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'
)
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) --

    [REQUIRED]

    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 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 .

  • SecretArn (string) -- The name or ARN of the secret that enables access to the database. This parameter is required when authenticating using Secrets Manager.
  • 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',
    '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 or Amazon Resource Name (ARN). This element is not returned when connecting to a provisioned cluster.

Exceptions

  • RedshiftDataAPIService.Client.exceptions.ValidationException
  • RedshiftDataAPIService.Client.exceptions.ExecuteStatementException
  • RedshiftDataAPIService.Client.exceptions.ActiveStatementsExceededException