createDataset method
To create a training dataset for a project, specify TRAIN for
the value of DatasetType. To create the test dataset for a
project, specify TEST for the value of
DatasetType.
The response from CreateDataset is the Amazon Resource Name
(ARN) for the dataset. Creating a dataset takes a while to complete. Use
DescribeDataset to check the current status. The dataset created
successfully if the value of Status is
CREATE_COMPLETE.
To check if any non-terminal errors occurred, call
ListDatasetEntries and check for the presence of
errors lists in the JSON Lines.
Dataset creation fails if a terminal error occurs (Status =
CREATE_FAILED). Currently, you can't access the terminal
error information.
For more information, see Creating dataset in the Amazon Rekognition Custom Labels Developer Guide.
This operation requires permissions to perform the
rekognition:CreateDataset action. If you want to copy an
existing dataset, you also require permission to perform the
rekognition:ListDatasetEntries action.
May throw AccessDeniedException.
May throw InternalServerError.
May throw InvalidParameterException.
May throw InvalidS3ObjectException.
May throw LimitExceededException.
May throw ProvisionedThroughputExceededException.
May throw ResourceAlreadyExistsException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
Parameter datasetType :
The type of the dataset. Specify TRAIN to create a training
dataset. Specify TEST to create a test dataset.
Parameter projectArn :
The ARN of the Amazon Rekognition Custom Labels project to which you want
to asssign the dataset.
Parameter datasetSource :
The source files for the dataset. You can specify the ARN of an existing
dataset or specify the Amazon S3 bucket location of an Amazon Sagemaker
format manifest file. If you don't specify datasetSource, an
empty dataset is created. To add labeled images to the dataset, You can
use the console or call UpdateDatasetEntries.
Parameter tags :
A set of tags (key-value pairs) that you want to attach to the dataset.
Implementation
Future<CreateDatasetResponse> createDataset({
required DatasetType datasetType,
required String projectArn,
DatasetSource? datasetSource,
Map<String, String>? tags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'RekognitionService.CreateDataset'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'DatasetType': datasetType.value,
'ProjectArn': projectArn,
if (datasetSource != null) 'DatasetSource': datasetSource,
if (tags != null) 'Tags': tags,
},
);
return CreateDatasetResponse.fromJson(jsonResponse.body);
}