createTrainingDataset method
Defines the information necessary to create a training dataset. In Clean
Rooms ML, the TrainingDataset is metadata that points to a
Glue table, which is read only during AudienceModel creation.
May throw AccessDeniedException.
May throw ConflictException.
May throw ValidationException.
Parameter name :
The name of the training dataset. This name must be unique in your account
and region.
Parameter roleArn :
The ARN of the IAM role that Clean Rooms ML can assume to read the data
referred to in the dataSource field of each dataset.
Passing a role across AWS accounts is not allowed. If you pass a role that
isn't in your account, you get an AccessDeniedException
error.
Parameter trainingData :
An array of information that lists the Dataset objects, which specifies
the dataset type and details on its location and schema. You must provide
a role that has read access to these tables.
Parameter description :
The description of the training dataset.
Parameter tags :
The optional metadata that you apply to the resource to help you
categorize and organize them. Each tag consists of a key and an optional
value, both of which you define.
The following basic restrictions apply to tags:
- Maximum number of tags per resource - 50.
- For each resource, each tag key must be unique, and each tag key can have only one value.
- Maximum key length - 128 Unicode characters in UTF-8.
- Maximum value length - 256 Unicode characters in UTF-8.
- If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
- Tag keys and values are case sensitive.
- Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws as its prefix but the key does not, then Clean Rooms ML considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws do not count against your tags per resource limit.
Implementation
Future<CreateTrainingDatasetResponse> createTrainingDataset({
required String name,
required String roleArn,
required List<Dataset> trainingData,
String? description,
Map<String, String>? tags,
}) async {
final $payload = <String, dynamic>{
'name': name,
'roleArn': roleArn,
'trainingData': trainingData,
if (description != null) 'description': description,
if (tags != null) 'tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/training-dataset',
exceptionFnMap: _exceptionFns,
);
return CreateTrainingDatasetResponse.fromJson(response);
}