CreateDataset - Amazon Lookout for Vision API Reference


Creates a new dataset in an Amazon Lookout for Vision project. CreateDataset can create a training or a test dataset from a valid dataset source (DatasetSource).

If you want a single dataset project, specify train for the value of DatasetType.

To have a project with separate training and test datasets, call CreateDataset twice. On the first call, specify train for the value of DatasetType. On the second call, specify test for the value of DatasetType.

This operation requires permissions to perform the lookoutvision:CreateDataset operation.

Request Syntax

POST /2020-11-20/projects/projectName/datasets HTTP/1.1 X-Amzn-Client-Token: ClientToken Content-type: application/json { "DatasetSource": { "GroundTruthManifest": { "S3Object": { "Bucket": "string", "Key": "string", "VersionId": "string" } } }, "DatasetType": "string" }

URI Request Parameters

The request uses the following URI parameters.


ClientToken is an idempotency token that ensures a call to CreateDataset completes only once. You choose the value to pass. For example, An issue might prevent you from getting a response from CreateDataset. In this case, safely retry your call to CreateDataset by using the same ClientToken parameter value.

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. This prevents retries after a network error from making multiple dataset creation requests. You'll need to provide your own value for other use cases.

An error occurs if the other input parameters are not the same as in the first request. Using a different value for ClientToken is considered a new call to CreateDataset. An idempotency token is active for 8 hours.

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

Pattern: ^[a-zA-Z0-9-]+$


The name of the project in which you want to create a dataset.

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

Pattern: [a-zA-Z0-9][a-zA-Z0-9_\-]*

Required: Yes

Request Body

The request accepts the following data in JSON format.


The location of the manifest file that Amazon Lookout for Vision uses to create the dataset.

If you don't specify DatasetSource, an empty dataset is created and the operation synchronously returns. Later, you can add JSON Lines by calling UpdateDatasetEntries.

If you specify a value for DataSource, the manifest at the S3 location is validated and used to create the dataset. The call to CreateDataset is asynchronous and might take a while to complete. To find out the current status, Check the value of Status returned in a call to DescribeDataset.

Type: DatasetSource object

Required: No


The type of the dataset. Specify train for a training dataset. Specify test for a test dataset.

Type: String

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

Pattern: train|test

Required: Yes

Response Syntax

HTTP/1.1 202 Content-type: application/json { "DatasetMetadata": { "CreationTimestamp": number, "DatasetType": "string", "Status": "string", "StatusMessage": "string" } }

Response Elements

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

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


Information about the dataset.

Type: DatasetMetadata object


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


You are not authorized to perform the action.

HTTP Status Code: 403


The update or deletion of a resource caused an inconsistent state.

HTTP Status Code: 409


Amazon Lookout for Vision experienced a service issue. Try your call again.

HTTP Status Code: 500


The resource could not be found.

HTTP Status Code: 404


A service quota exceeded the allowed limit. For more information, see Quotas in Amazon Lookout for Vision.

HTTP Status Code: 402


Amazon Lookout for Vision is temporarily unable to process the request. Try your call again.

HTTP Status Code: 429


An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid.

HTTP Status Code: 400

See Also

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