:doc:`FinSpaceData <../../finspace-data>` / Client / create_changeset

****************
create_changeset
****************



.. py:method:: FinSpaceData.Client.create_changeset(**kwargs)

  

  Creates a new Changeset in a FinSpace Dataset.

  

  .. danger::

        This operation is deprecated and may not function as expected. This operation should not be used going forward and is only kept for the purpose of backwards compatiblity.


  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/CreateChangeset>`_  


  **Request Syntax**
  ::

    response = client.create_changeset(
        clientToken='string',
        datasetId='string',
        changeType='REPLACE'|'APPEND'|'MODIFY',
        sourceParams={
            'string': 'string'
        },
        formatParams={
            'string': 'string'
        }
    )
    
  :type clientToken: string
  :param clientToken: 

    A token that ensures idempotency. This token expires in 10 minutes.

    This field is autopopulated if not provided.

  
  :type datasetId: string
  :param datasetId: **[REQUIRED]** 

    The unique identifier for the FinSpace Dataset where the Changeset will be created.

    

  
  :type changeType: string
  :param changeType: **[REQUIRED]** 

    The option to indicate how a Changeset will be applied to a Dataset.

     

    
    * ``REPLACE`` – Changeset will be considered as a replacement to all prior loaded Changesets.
     
    * ``APPEND`` – Changeset will be considered as an addition to the end of all prior loaded Changesets.
     
    * ``MODIFY`` – Changeset is considered as a replacement to a specific prior ingested Changeset.
    

    

  
  :type sourceParams: dict
  :param sourceParams: **[REQUIRED]** 

    Options that define the location of the data being ingested ( ``s3SourcePath``) and the source of the changeset ( ``sourceType``).

     

    Both ``s3SourcePath`` and ``sourceType`` are required attributes.

     

    Here is an example of how you could specify the ``sourceParams``:

     

    ``"sourceParams": { "s3SourcePath": "s3://finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d/scratch/wr5hh8pwkpqqkxa4sxrmcw/ingestion/equity.csv", "sourceType": "S3" }``

     

    The S3 path that you specify must allow the FinSpace role access. To do that, you first need to configure the IAM policy on S3 bucket. For more information, see `Loading data from an Amazon S3 Bucket using the FinSpace API <https://docs.aws.amazon.com/finspace/latest/data-api/fs-using-the-finspace-api.html#access-s3-buckets>`__ section.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type formatParams: dict
  :param formatParams: **[REQUIRED]** 

    Options that define the structure of the source file(s) including the format type ( ``formatType``), header row ( ``withHeader``), data separation character ( ``separator``) and the type of compression ( ``compression``).

     

    ``formatType`` is a required attribute and can have the following values:

     

    
    * ``PARQUET`` – Parquet source file format.
     
    * ``CSV`` – CSV source file format.
     
    * ``JSON`` – JSON source file format.
     
    * ``XML`` – XML source file format.
    

     

    Here is an example of how you could specify the ``formatParams``:

     

    ``"formatParams": { "formatType": "CSV", "withHeader": "true", "separator": ",", "compression":"None" }``

     

    Note that if you only provide ``formatType`` as ``CSV``, the rest of the attributes will automatically default to CSV values as following:

     

    ``{ "withHeader": "true", "separator": "," }``

     

    For more information about supported file formats, see `Supported Data Types and File Formats <https://docs.aws.amazon.com/finspace/latest/userguide/supported-data-types.html>`__ in the FinSpace User Guide.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


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

    
    ::

      {
          'datasetId': 'string',
          'changesetId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* The response from a CreateChangeset operation.
      

      - **datasetId** *(string) --* 

        The unique identifier for the FinSpace Dataset where the Changeset is created.

        
      

      - **changesetId** *(string) --* 

        The unique identifier of the Changeset that is created.

        
  
  **Exceptions**
  
  *   :py:class:`FinSpaceData.Client.exceptions.ResourceNotFoundException`

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

  
  *   :py:class:`FinSpaceData.Client.exceptions.ValidationException`

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

  
  *   :py:class:`FinSpaceData.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`FinSpaceData.Client.exceptions.LimitExceededException`

  
  *   :py:class:`FinSpaceData.Client.exceptions.ConflictException`

  