finspace / Client / update_kx_cluster_databases

update_kx_cluster_databases#

finspace.Client.update_kx_cluster_databases(**kwargs)#

Updates the databases mounted on a kdb cluster, which includes the changesetId and all the dbPaths to be cached. This API does not allow you to change a database name or add a database if you created a cluster without one.

Using this API you can point a cluster to a different changeset and modify a list of partitions being cached.

See also: AWS API Documentation

Request Syntax

response = client.update_kx_cluster_databases(
    environmentId='string',
    clusterName='string',
    clientToken='string',
    databases=[
        {
            'databaseName': 'string',
            'cacheConfigurations': [
                {
                    'cacheType': 'string',
                    'dbPaths': [
                        'string',
                    ],
                    'dataviewName': 'string'
                },
            ],
            'changesetId': 'string',
            'dataviewName': 'string',
            'dataviewConfiguration': {
                'dataviewName': 'string',
                'dataviewVersionId': 'string',
                'changesetId': 'string',
                'segmentConfigurations': [
                    {
                        'dbPaths': [
                            'string',
                        ],
                        'volumeName': 'string'
                    },
                ]
            }
        },
    ],
    deploymentConfiguration={
        'deploymentStrategy': 'NO_RESTART'|'ROLLING'
    }
)
Parameters:
  • environmentId (string) –

    [REQUIRED]

    The unique identifier of a kdb environment.

  • clusterName (string) –

    [REQUIRED]

    A unique name for the cluster that you want to modify.

  • clientToken (string) –

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

    This field is autopopulated if not provided.

  • databases (list) –

    [REQUIRED]

    The structure of databases mounted on the cluster.

    • (dict) –

      The configuration of data that is available for querying from this database.

      • databaseName (string) – [REQUIRED]

        The name of the kdb database. When this parameter is specified in the structure, S3 with the whole database is included by default.

      • cacheConfigurations (list) –

        Configuration details for the disk cache used to increase performance reading from a kdb database mounted to the cluster.

        • (dict) –

          The structure of database cache configuration that is used for mapping database paths to cache types in clusters.

          • cacheType (string) – [REQUIRED]

            The type of disk cache. This parameter is used to map the database path to cache storage. The valid values are:

            • CACHE_1000 – This type provides at least 1000 MB/s disk access throughput.

          • dbPaths (list) – [REQUIRED]

            Specifies the portions of database that will be loaded into the cache for access.

            • (string) –

          • dataviewName (string) –

            The name of the dataview to be used for caching historical data on disk.

      • changesetId (string) –

        A unique identifier of the changeset that is associated with the cluster.

      • dataviewName (string) –

        The name of the dataview to be used for caching historical data on disk.

      • dataviewConfiguration (dict) –

        The configuration of the dataview to be used with specified cluster.

        • dataviewName (string) –

          The unique identifier of the dataview.

        • dataviewVersionId (string) –

          The version of the dataview corresponding to a given changeset.

        • changesetId (string) –

          A unique identifier for the changeset.

        • segmentConfigurations (list) –

          The db path and volume configuration for the segmented database.

          • (dict) –

            The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

            • dbPaths (list) – [REQUIRED]

              The database path of the data that you want to place on each selected volume for the segment. Each segment must have a unique database path for each volume.

              • (string) –

            • volumeName (string) – [REQUIRED]

              The name of the volume where you want to add data.

  • deploymentConfiguration (dict) –

    The configuration that allows you to choose how you want to update the databases on a cluster.

    • deploymentStrategy (string) – [REQUIRED]

      The type of deployment that you want on a cluster.

      • ROLLING – This options updates the cluster by stopping the exiting q process and starting a new q process with updated configuration.

      • NO_RESTART – This option updates the cluster without stopping the running q process. It is only available for HDB type cluster. This option is quicker as it reduces the turn around time to update configuration on a cluster. With this deployment mode, you cannot update the initializationScript and commandLineArguments parameters.

Return type:

dict

Returns:

Response Syntax

{}

Response Structure

  • (dict) –

Exceptions

  • finspace.Client.exceptions.InternalServerException

  • finspace.Client.exceptions.ThrottlingException

  • finspace.Client.exceptions.AccessDeniedException

  • finspace.Client.exceptions.LimitExceededException

  • finspace.Client.exceptions.ValidationException

  • finspace.Client.exceptions.ConflictException

  • finspace.Client.exceptions.ResourceNotFoundException