:doc:`RedshiftDataAPIService <../../redshift-data>` / Client / list_statements

***************
list_statements
***************



.. py:method:: RedshiftDataAPIService.Client.list_statements(**kwargs)

  

  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 <https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html>`__.

   

  For more information about the Amazon Redshift Data API and CLI usage examples, see `Using the Amazon Redshift Data API <https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html>`__ in the *Amazon Redshift Management Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/ListStatements>`_  


  **Request Syntax**
  ::

    response = client.list_statements(
        NextToken='string',
        MaxResults=123,
        StatementName='string',
        Status='SUBMITTED'|'PICKED'|'STARTED'|'FINISHED'|'ABORTED'|'FAILED'|'ALL',
        RoleLevel=True|False,
        Database='string',
        ClusterIdentifier='string',
        WorkgroupName='string'
    )
    
  :type NextToken: string
  :param 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.

    

  
  :type MaxResults: integer
  :param 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.

    

  
  :type StatementName: string
  :param 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.

    

  
  :type Status: string
  :param 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.
    

    

  
  :type RoleLevel: boolean
  :param 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.

    

  
  :type Database: string
  :param Database: 

    The name of the database when listing statements run against a ``ClusterIdentifier`` or ``WorkgroupName``.

    

  
  :type ClusterIdentifier: string
  :param ClusterIdentifier: 

    The cluster identifier. Only statements that ran on this cluster are returned. When providing ``ClusterIdentifier``, then ``WorkgroupName`` can't be specified.

    

  
  :type WorkgroupName: string
  :param 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.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Statements': [
              {
                  'Id': 'string',
                  'QueryString': 'string',
                  'QueryStrings': [
                      'string',
                  ],
                  'SecretArn': 'string',
                  'Status': 'SUBMITTED'|'PICKED'|'STARTED'|'FINISHED'|'ABORTED'|'FAILED'|'ALL',
                  'StatementName': 'string',
                  'CreatedAt': datetime(2015, 1, 1),
                  'UpdatedAt': datetime(2015, 1, 1),
                  'QueryParameters': [
                      {
                          'name': 'string',
                          'value': 'string'
                      },
                  ],
                  'IsBatchStatement': True|False,
                  'ResultFormat': 'JSON'|'CSV',
                  'SessionId': 'string'
              },
          ],
          'NextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Statements** *(list) --* 

        The SQL statements.

        
        

        - *(dict) --* 

          The SQL statement to run.

          
          

          - **Id** *(string) --* 

            The SQL statement identifier. This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API.

            
          

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

            
            

            - *(string) --* 
        
          

          - **SecretArn** *(string) --* 

            The name or Amazon Resource Name (ARN) of the secret that enables access to the database.

            
          

          - **Status** *(string) --* 

            The status of the SQL statement. An example is the that the SQL statement finished.

            
          

          - **StatementName** *(string) --* 

            The name of the SQL statement.

            
          

          - **CreatedAt** *(datetime) --* 

            The date and time (UTC) the statement was created.

            
          

          - **UpdatedAt** *(datetime) --* 

            The date and time (UTC) that the statement metadata was last updated.

            
          

          - **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 <https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html>`__ in the *Amazon Redshift Database Developer Guide*.

                
          
        
          

          - **IsBatchStatement** *(boolean) --* 

            A value that indicates whether the statement is a batch query request.

            
          

          - **ResultFormat** *(string) --* 

            The data format of the result of the SQL statement.

            
          

          - **SessionId** *(string) --* 

            The session identifier of the query.

            
      
    
      

      - **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**
  
  *   :py:class:`RedshiftDataAPIService.Client.exceptions.ValidationException`

  
  *   :py:class:`RedshiftDataAPIService.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`RedshiftDataAPIService.Client.exceptions.InternalServerException`

  