Skip to content

Create Kx Changeset

finspace_create_kx_changeset R Documentation

Creates a changeset for a kdb database

Description

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.

Usage

finspace_create_kx_changeset(environmentId, databaseName,
  changeRequests, clientToken)

Arguments

environmentId

[required] A unique identifier of the kdb environment.

databaseName

[required] The name of the kdb database.

changeRequests

[required] A list of change request objects that are run in order. A change request object consists of changeType , s3Path, and dbPath. A changeType can have 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. All database paths must start with a leading / and end with a trailing /. The s3Path attribute defines the s3 source file path and is required for a PUT change type. The s3path must end with a trailing / if it is a directory and must end without a trailing / if it is a file.

Here are few examples of how you can use the change request object:

  1. This request adds a single sym file at database root location.

    ⁠{ "changeType": "PUT", "s3Path":"s3://bucket/db/sym", "dbPath":"/"}⁠

  2. This request adds files in the given s3Path under the 2020.01.02 partition of the database.

    ⁠{ "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", "dbPath":"/2020.01.02/"}⁠

  3. This request adds files in the given s3Path under the taq table partition of the database.

    ⁠[ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/taq/", "dbPath":"/2020.01.02/taq/"}]⁠

  4. This request deletes the 2020.01.02 partition of the database.

    ⁠[{ "changeType": "DELETE", "dbPath": "/2020.01.02/"} ]⁠

  5. The DELETE request allows you to delete the existing files under the 2020.01.02 partition of the database, and the PUT request adds a new taq table under it.

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

clientToken

[required] A token that ensures idempotency. This token expires in 10 minutes.

Value

A list with the following syntax:

list(
  changesetId = "string",
  databaseName = "string",
  environmentId = "string",
  changeRequests = list(
    list(
      changeType = "PUT"|"DELETE",
      s3Path = "string",
      dbPath = "string"
    )
  ),
  createdTimestamp = as.POSIXct(
    "2015-01-01"
  ),
  lastModifiedTimestamp = as.POSIXct(
    "2015-01-01"
  ),
  status = "PENDING"|"PROCESSING"|"FAILED"|"COMPLETED",
  errorInfo = list(
    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"
  )
)

Request syntax

svc$create_kx_changeset(
  environmentId = "string",
  databaseName = "string",
  changeRequests = list(
    list(
      changeType = "PUT"|"DELETE",
      s3Path = "string",
      dbPath = "string"
    )
  ),
  clientToken = "string"
)