CreateDataLakeDataset
Enables you to programmatically create an AWS Supply Chain data lake dataset. Developers can create the datasets using their pre-defined or custom schema for a given instance ID, namespace, and dataset name.
Request Syntax
PUT /api/datalake/instance/instanceId
/namespaces/namespace
/datasets/name
HTTP/1.1
Content-type: application/json
{
"description": "string
",
"partitionSpec": {
"fields": [
{
"name": "string
",
"transform": {
"type": "string
"
}
}
]
},
"schema": {
"fields": [
{
"isRequired": boolean
,
"name": "string
",
"type": "string
"
}
],
"name": "string
",
"primaryKeys": [
{
"name": "string
"
}
]
},
"tags": {
"string
" : "string
"
}
}
URI Request Parameters
The request uses the following URI parameters.
- instanceId
-
The AWS Supply Chain instance identifier.
Length Constraints: Fixed length of 36.
Pattern:
[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}
Required: Yes
- name
-
The name of the dataset. For asc name space, the name must be one of the supported data entities under https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html.
Length Constraints: Minimum length of 1. Maximum length of 75.
Pattern:
[a-z0-9_]+
Required: Yes
- namespace
-
The namespace of the dataset, besides the custom defined namespace, every instance comes with below pre-defined namespaces:
-
asc - For information on the AWS Supply Chain supported datasets see https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html.
-
default - For datasets with custom user-defined schemas.
Length Constraints: Minimum length of 1. Maximum length of 50.
Pattern:
[a-z0-9_]+
Required: Yes
-
Request Body
The request accepts the following data in JSON format.
- description
-
The description of the dataset.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 500.
Required: No
- partitionSpec
-
The partition specification of the dataset. Partitioning can effectively improve the dataset query performance by reducing the amount of data scanned during query execution. But partitioning or not will affect how data get ingested by data ingestion methods, such as SendDataIntegrationEvent's dataset UPSERT will upsert records within partition (instead of within whole dataset). For more details, refer to those data ingestion documentations.
Type: DataLakeDatasetPartitionSpec object
Required: No
- schema
-
The custom schema of the data lake dataset and required for dataset in default and custom namespaces.
Type: DataLakeDatasetSchema object
Required: No
-
The tags of the dataset.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 200 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"dataset": {
"arn": "string",
"createdTime": number,
"description": "string",
"instanceId": "string",
"lastModifiedTime": number,
"name": "string",
"namespace": "string",
"partitionSpec": {
"fields": [
{
"name": "string",
"transform": {
"type": "string"
}
}
]
},
"schema": {
"fields": [
{
"isRequired": boolean,
"name": "string",
"type": "string"
}
],
"name": "string",
"primaryKeys": [
{
"name": "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.
- dataset
-
The detail of created dataset.
Type: DataLakeDataset object
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You do not have the required privileges to perform this action.
HTTP Status Code: 403
- ConflictException
-
Updating or deleting a resource can cause an inconsistent state.
HTTP Status Code: 409
- InternalServerException
-
Unexpected error during processing of request.
HTTP Status Code: 500
- ResourceNotFoundException
-
Request references a resource which does not exist.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
Request would cause a service quota to be exceeded.
HTTP Status Code: 402
- ThrottlingException
-
Request was denied due to request throttling.
HTTP Status Code: 429
- ValidationException
-
The input does not 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: