create_kx_changeset
async
¶
create_kx_changeset(
environment_id: EnvironmentId,
database_name: DatabaseName,
change_requests: ChangeRequests,
client_token: ClientTokenString,
*,
config_overrides: Optional[AsyncfinspaceClientConfig] = None,
) -> CreateKxChangesetResponse
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.
Parameters:
-
environment_id(EnvironmentId) –A unique identifier of the kdb environment.
-
database_name(DatabaseName) –The name of the kdb database.
-
change_requests(ChangeRequests) –A list of change request objects that are run in order. A change request object consists of
changeType,s3Path, anddbPath. 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
dbPathattribute that defines the path within the database directory. All database paths must start with a leading / and end with a trailing /. Thes3Pathattribute defines the s3 source file path and is required for a PUT change type. Thes3pathmust 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:
-
This request adds a single sym file at database root location.
{ "changeType": "PUT", "s3Path":"s3://bucket/db/sym", "dbPath":"/"} -
This request adds files in the given
s3Pathunder the 2020.01.02 partition of the database.{ "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", "dbPath":"/2020.01.02/"} -
This request adds files in the given
s3Pathunder the taq table partition of the database.[ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/taq/", "dbPath":"/2020.01.02/taq/"}] -
This request deletes the 2020.01.02 partition of the database.
[{ "changeType": "DELETE", "dbPath": "/2020.01.02/"} ] -
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/"}]
-
-
client_token(ClientTokenString) –A token that ensures idempotency. This token expires in 10 minutes.
Raises:
-
AccessDeniedException–You do not have sufficient access to perform this action.
-
ConflictException–There was a conflict with this action, and it could not be completed.
-
InternalServerException–The request processing has failed because of an unknown error, exception or failure.
-
LimitExceededException–A service limit or quota is exceeded.
-
ResourceNotFoundException–One or more resources can't be found.
-
ThrottlingException–The request was denied due to request throttling.
-
ValidationException–The input fails to satisfy the constraints specified by an AWS service.
-
UnknownServiceError–The service returned an error code this client does not model.