Skip to content

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"
)