CreateChangeset -

CreateChangeset

Creates a new Changeset in a FinSpace Dataset.

Request Syntax

POST /datasets/datasetId/changesetsv2 HTTP/1.1 Content-type: application/json { "changeType": "string", "clientToken": "string", "formatParams": { "string" : "string" }, "sourceParams": { "string" : "string" } }

URI Request Parameters

The request uses the following URI parameters.

datasetId

The unique identifier for the FinSpace Dataset where the Changeset will be created.

Length Constraints: Minimum length of 1. Maximum length of 26.

Required: Yes

Request Body

The request accepts the following data in JSON format.

changeType

The option to indicate how a Changeset will be applied to a Dataset.

  • REPLACE – Changeset will be considered as a replacement to all prior loaded Changesets.

  • APPEND – Changeset will be considered as an addition to the end of all prior loaded Changesets.

  • MODIFY – Changeset is considered as a replacement to a specific prior ingested Changeset.

Type: String

Valid Values: REPLACE | APPEND | MODIFY

Required: Yes

formatParams

Options that define the structure of the source file(s) including the format type (formatType), header row (withHeader), data separation character (separator) and the type of compression (compression).

formatType is a required attribute and can have the following values:

  • PARQUET – Parquet source file format.

  • CSV – CSV source file format.

  • JSON – JSON source file format.

  • XML – XML source file format.

Here is an example of how you could specify the formatParams:

"formatParams": { "formatType": "CSV", "withHeader": "true", "separator": ",", "compression":"None" }

Note that if you only provide formatType as CSV, the rest of the attributes will automatically default to CSV values as following:

{ "withHeader": "true", "separator": "," }

For more information about supported file formats, see Supported Data Types and File Formats in the FinSpace User Guide.

Type: String to string map

Key Length Constraints: Maximum length of 128.

Key Pattern: [\s\S]*\S[\s\S]*

Value Length Constraints: Maximum length of 1000.

Value Pattern: [\s\S]*\S[\s\S]*

Required: Yes

sourceParams

Options that define the location of the data being ingested (s3SourcePath) and the source of the changeset (sourceType).

Both s3SourcePath and sourceType are required attributes.

Here is an example of how you could specify the sourceParams:

"sourceParams": { "s3SourcePath": "s3://finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d/scratch/wr5hh8pwkpqqkxa4sxrmcw/ingestion/equity.csv", "sourceType": "S3" }

The S3 path that you specify must allow the FinSpace role access. To do that, you first need to configure the IAM policy on S3 bucket. For more information, see Loading data from an Amazon S3 Bucket using the FinSpace API section.

Type: String to string map

Key Length Constraints: Maximum length of 128.

Key Pattern: [\s\S]*\S[\s\S]*

Value Length Constraints: Maximum length of 1000.

Value Pattern: [\s\S]*\S[\s\S]*

Required: Yes

clientToken

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

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: .*\S.*

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "changesetId": "string", "datasetId": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

changesetId

The unique identifier of the Changeset that is created.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 26.

datasetId

The unique identifier for the FinSpace Dataset where the Changeset is created.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 26.

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

You do not have sufficient access to perform this action.

HTTP Status Code: 403

ConflictException

The request conflicts with an existing resource.

HTTP Status Code: 409

InternalServerException

The request processing has failed because of an unknown error, exception or failure.

HTTP Status Code: 500

LimitExceededException

A limit has exceeded.

HTTP Status Code: 400

ResourceNotFoundException

One or more resources can't be found.

HTTP Status Code: 404

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 429

ValidationException

The input fails to satisfy the constraints specified by an AWS service.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: