finspace / Client / create_kx_changeset

create_kx_changeset#

finspace.Client.create_kx_changeset(**kwargs)#

Creates a changeset for a kdb database. A changeset allows you to add and delete existing files by using an ordered list of change requests.

See also: AWS API Documentation

Request Syntax

response = client.create_kx_changeset(
    environmentId='string',
    databaseName='string',
    changeRequests=[
        {
            'changeType': 'PUT'|'DELETE',
            's3Path': 'string',
            'dbPath': 'string'
        },
    ],
    clientToken='string'
)
Parameters:
  • environmentId (string) –

    [REQUIRED]

    A unique identifier of the kdb environment.

  • databaseName (string) –

    [REQUIRED]

    The name of the kdb database.

  • changeRequests (list) –

    [REQUIRED]

    A list of change request objects that are run in order. A change request object consists of changeType , s3Path, and a dbPath. A changeType can has the following values:

    • PUT – Adds or updates files in a database.

    • DELETE – Deletes files in a database.

    All the change requests require a mandatory dbPath attribute that defines the path within the database directory. The s3Path attribute defines the s3 source file path and is required for a PUT change type.

    Here is an example of how you can use the change request object:

    [ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", "dbPath":"/2020.01.02/"}, { "changeType": "PUT", "s3Path":"s3://bucket/db/sym", "dbPath":"/"}, { "changeType": "DELETE", "dbPath": "/2020.01.01/"} ]

    In this example, the first request with PUT change type allows you to add files in the given s3Path under the 2020.01.02 partition of the database. The second request with PUT change type allows you to add a single sym file at database root location. The last request with DELETE change type allows you to delete the files under the 2020.01.01 partition of the database.

    • (dict) –

      A list of change request objects.

      • changeType (string) – [REQUIRED]

        Defines the type of change request. A changeType can have the following values:

        • PUT – Adds or updates files in a database.

        • DELETE – Deletes files in a database.

      • s3Path (string) –

        Defines the S3 path of the source file that is required to add or update files in a database.

      • dbPath (string) – [REQUIRED]

        Defines the path within the database directory.

  • clientToken (string) –

    [REQUIRED]

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

    This field is autopopulated if not provided.

Return type:

dict

Returns:

Response Syntax

{
    'changesetId': 'string',
    'databaseName': 'string',
    'environmentId': 'string',
    'changeRequests': [
        {
            'changeType': 'PUT'|'DELETE',
            's3Path': 'string',
            'dbPath': 'string'
        },
    ],
    'createdTimestamp': datetime(2015, 1, 1),
    'lastModifiedTimestamp': datetime(2015, 1, 1),
    'status': 'PENDING'|'PROCESSING'|'FAILED'|'COMPLETED',
    'errorInfo': {
        'errorMessage': 'string',
        'errorType': 'The inputs to this request are invalid.'|'Service limits have been exceeded.'|'Missing required permission to perform this request.'|'One or more inputs to this request were not found.'|'The system temporarily lacks sufficient resources to process the request.'|'An internal error has occurred.'|'Cancelled'|'A user recoverable error has occurred'
    }
}

Response Structure

  • (dict) –

    • changesetId (string) –

      A unique identifier for the changeset.

    • databaseName (string) –

      The name of the kdb database.

    • environmentId (string) –

      A unique identifier for the kdb environment.

    • changeRequests (list) –

      A list of change requests.

      • (dict) –

        A list of change request objects.

        • changeType (string) –

          Defines the type of change request. A changeType can have the following values:

          • PUT – Adds or updates files in a database.

          • DELETE – Deletes files in a database.

        • s3Path (string) –

          Defines the S3 path of the source file that is required to add or update files in a database.

        • dbPath (string) –

          Defines the path within the database directory.

    • createdTimestamp (datetime) –

      The timestamp at which the changeset was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    • lastModifiedTimestamp (datetime) –

      The timestamp at which the changeset was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    • status (string) –

      Status of the changeset creation process.

      • Pending – Changeset creation is pending.

      • Processing – Changeset creation is running.

      • Failed – Changeset creation has failed.

      • Complete – Changeset creation has succeeded.

    • errorInfo (dict) –

      The details of the error that you receive when creating a changeset. It consists of the type of error and the error message.

      • errorMessage (string) –

        Specifies the error message that appears if a flow fails.

      • errorType (string) –

        Specifies the type of error.

Exceptions

  • finspace.Client.exceptions.InternalServerException

  • finspace.Client.exceptions.ValidationException

  • finspace.Client.exceptions.ThrottlingException

  • finspace.Client.exceptions.AccessDeniedException

  • finspace.Client.exceptions.ResourceNotFoundException

  • finspace.Client.exceptions.ConflictException

  • finspace.Client.exceptions.LimitExceededException