:doc:`IoTAnalytics <../../iotanalytics>` / Client / describe_datastore

******************
describe_datastore
******************



.. py:method:: IoTAnalytics.Client.describe_datastore(**kwargs)

  

  Retrieves information about a data store.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/DescribeDatastore>`_  


  **Request Syntax**
  ::

    response = client.describe_datastore(
        datastoreName='string',
        includeStatistics=True|False
    )
    
  :type datastoreName: string
  :param datastoreName: **[REQUIRED]** 

    The name of the data store

    

  
  :type includeStatistics: boolean
  :param includeStatistics: 

    If true, additional statistical information about the data store is included in the response. This feature can't be used with a data store whose S3 storage is customer-managed.

    

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

    
    ::

      {
          'datastore': {
              'name': 'string',
              'storage': {
                  'serviceManagedS3': {},
                  'customerManagedS3': {
                      'bucket': 'string',
                      'keyPrefix': 'string',
                      'roleArn': 'string'
                  },
                  'iotSiteWiseMultiLayerStorage': {
                      'customerManagedS3Storage': {
                          'bucket': 'string',
                          'keyPrefix': 'string'
                      }
                  }
              },
              'arn': 'string',
              'status': 'CREATING'|'ACTIVE'|'DELETING',
              'retentionPeriod': {
                  'unlimited': True|False,
                  'numberOfDays': 123
              },
              'creationTime': datetime(2015, 1, 1),
              'lastUpdateTime': datetime(2015, 1, 1),
              'lastMessageArrivalTime': datetime(2015, 1, 1),
              'fileFormatConfiguration': {
                  'jsonConfiguration': {},
                  'parquetConfiguration': {
                      'schemaDefinition': {
                          'columns': [
                              {
                                  'name': 'string',
                                  'type': 'string'
                              },
                          ]
                      }
                  }
              },
              'datastorePartitions': {
                  'partitions': [
                      {
                          'attributePartition': {
                              'attributeName': 'string'
                          },
                          'timestampPartition': {
                              'attributeName': 'string',
                              'timestampFormat': 'string'
                          }
                      },
                  ]
              }
          },
          'statistics': {
              'size': {
                  'estimatedSizeInBytes': 123.0,
                  'estimatedOn': datetime(2015, 1, 1)
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **datastore** *(dict) --* 

        Information about the data store.

        
        

        - **name** *(string) --* 

          The name of the data store.

          
        

        - **storage** *(dict) --* 

          Where data in a data store is stored.. You can choose ``serviceManagedS3`` storage, ``customerManagedS3`` storage, or ``iotSiteWiseMultiLayerStorage`` storage. The default is ``serviceManagedS3``. You can't change the choice of Amazon S3 storage after your data store is created.

          
          

          - **serviceManagedS3** *(dict) --* 

            Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't change the choice of Amazon S3 storage after your data store is created.

            
        
          

          - **customerManagedS3** *(dict) --* 

            S3-customer-managed; When you choose customer-managed storage, the ``retentionPeriod`` parameter is ignored. You can't change the choice of Amazon S3 storage after your data store is created.

            
            

            - **bucket** *(string) --* 

              The name of the Amazon S3 bucket where your data is stored.

              
            

            - **keyPrefix** *(string) --* 

              (Optional) The prefix used to create the keys of the data store data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier in the bucket. Each object in a bucket has exactly one key. The prefix must end with a forward slash (/).

              
            

            - **roleArn** *(string) --* 

              The ARN of the role that grants IoT Analytics permission to interact with your Amazon S3 resources.

              
        
          

          - **iotSiteWiseMultiLayerStorage** *(dict) --* 

            Used to store data used by IoT SiteWise in an Amazon S3 bucket that you manage. You can't change the choice of Amazon S3 storage after your data store is created.

            
            

            - **customerManagedS3Storage** *(dict) --* 

              Used to store data used by IoT SiteWise in an Amazon S3 bucket that you manage.

              
              

              - **bucket** *(string) --* 

                The name of the Amazon S3 bucket where your data is stored.

                
              

              - **keyPrefix** *(string) --* 

                (Optional) The prefix used to create the keys of the data store data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier in the bucket. Each object in a bucket has exactly one key. The prefix must end with a forward slash (/).

                
          
        
      
        

        - **arn** *(string) --* 

          The ARN of the data store.

          
        

        - **status** *(string) --* 

          The status of a data store:

            CREATING  

          The data store is being created.

            ACTIVE  

          The data store has been created and can be used.

            DELETING  

          The data store is being deleted.

          
        

        - **retentionPeriod** *(dict) --* 

          How long, in days, message data is kept for the data store. When ``customerManagedS3`` storage is selected, this parameter is ignored.

          
          

          - **unlimited** *(boolean) --* 

            If true, message data is kept indefinitely.

            
          

          - **numberOfDays** *(integer) --* 

            The number of days that message data is kept. The ``unlimited`` parameter must be false.

            
      
        

        - **creationTime** *(datetime) --* 

          When the data store was created.

          
        

        - **lastUpdateTime** *(datetime) --* 

          The last time the data store was updated.

          
        

        - **lastMessageArrivalTime** *(datetime) --* 

          The last time when a new message arrived in the data store.

           

          IoT Analytics updates this value at most once per minute for Amazon Simple Storage Service one data store. Hence, the ``lastMessageArrivalTime`` value is an approximation.

           

          This feature only applies to messages that arrived in the data store after October 23, 2020.

          
        

        - **fileFormatConfiguration** *(dict) --* 

          Contains the configuration information of file formats. IoT Analytics data stores support JSON and `Parquet <https://parquet.apache.org/>`__.

           

          The default file format is JSON. You can specify only one format.

           

          You can't change the file format after you create the data store.

          
          

          - **jsonConfiguration** *(dict) --* 

            Contains the configuration information of the JSON format.

            
        
          

          - **parquetConfiguration** *(dict) --* 

            Contains the configuration information of the Parquet format.

            
            

            - **schemaDefinition** *(dict) --* 

              Information needed to define a schema.

              
              

              - **columns** *(list) --* 

                Specifies one or more columns that store your data.

                 

                Each schema can have up to 100 columns. Each column can have up to 100 nested types.

                
                

                - *(dict) --* 

                  Contains information about a column that stores your data.

                  
                  

                  - **name** *(string) --* 

                    The name of the column.

                    
                  

                  - **type** *(string) --* 

                    The type of data. For more information about the supported data types, see `Common data types <https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html>`__ in the *Glue Developer Guide*.

                    
              
            
          
        
      
        

        - **datastorePartitions** *(dict) --* 

          Contains information about the partition dimensions in a data store.

          
          

          - **partitions** *(list) --* 

            A list of partition dimensions in a data store.

            
            

            - *(dict) --* 

              A single dimension to partition a data store. The dimension must be an ``AttributePartition`` or a ``TimestampPartition``.

              
              

              - **attributePartition** *(dict) --* 

                A partition dimension defined by an ``attributeName``.

                
                

                - **attributeName** *(string) --* 

                  The name of the attribute that defines a partition dimension.

                  
            
              

              - **timestampPartition** *(dict) --* 

                A partition dimension defined by a timestamp attribute.

                
                

                - **attributeName** *(string) --* 

                  The attribute name of the partition defined by a timestamp.

                  
                

                - **timestampFormat** *(string) --* 

                  The timestamp format of a partition defined by a timestamp. The default format is seconds since epoch (January 1, 1970 at midnight UTC time).

                  
            
          
        
      
    
      

      - **statistics** *(dict) --* 

        Additional statistical information about the data store. Included if the ``includeStatistics`` parameter is set to ``true`` in the request.

        
        

        - **size** *(dict) --* 

          The estimated size of the data store.

          
          

          - **estimatedSizeInBytes** *(float) --* 

            The estimated size of the resource, in bytes.

            
          

          - **estimatedOn** *(datetime) --* 

            The time when the estimate of the size of the resource was made.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`IoTAnalytics.Client.exceptions.InvalidRequestException`

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

  
  *   :py:class:`IoTAnalytics.Client.exceptions.InternalFailureException`

  
  *   :py:class:`IoTAnalytics.Client.exceptions.ServiceUnavailableException`

  
  *   :py:class:`IoTAnalytics.Client.exceptions.ThrottlingException`

  