createMLInputChannel method

Future<CreateMLInputChannelResponse> createMLInputChannel({
  1. required List<String> configuredModelAlgorithmAssociations,
  2. required InputChannel inputChannel,
  3. required String membershipIdentifier,
  4. required String name,
  5. required int retentionInDays,
  6. String? description,
  7. String? kmsKeyArn,
  8. PayerConfiguration? payerConfiguration,
  9. Map<String, String>? tags,
})

Provides the information to create an ML input channel. An ML input channel is the result of a query that can be used for ML modeling.

May throw AccessDeniedException. May throw ConflictException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter configuredModelAlgorithmAssociations : The associated configured model algorithms that are necessary to create this ML input channel.

Parameter inputChannel : The input data that is used to create this ML input channel.

Parameter membershipIdentifier : The membership ID of the member that is creating the ML input channel.

Parameter name : The name of the ML input channel.

Parameter retentionInDays : The number of days that the data in the ML input channel is retained.

Parameter description : The description of the ML input channel.

Parameter kmsKeyArn : The Amazon Resource Name (ARN) of the KMS key that is used to access the input channel.

Parameter payerConfiguration : The payer configuration for the ML input channel. Determines which member account pays for compute and synthetic data costs.

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<CreateMLInputChannelResponse> createMLInputChannel({
  required List<String> configuredModelAlgorithmAssociations,
  required InputChannel inputChannel,
  required String membershipIdentifier,
  required String name,
  required int retentionInDays,
  String? description,
  String? kmsKeyArn,
  PayerConfiguration? payerConfiguration,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'configuredModelAlgorithmAssociations':
        configuredModelAlgorithmAssociations,
    'inputChannel': inputChannel,
    'name': name,
    'retentionInDays': retentionInDays,
    if (description != null) 'description': description,
    if (kmsKeyArn != null) 'kmsKeyArn': kmsKeyArn,
    if (payerConfiguration != null) 'payerConfiguration': payerConfiguration,
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/memberships/${Uri.encodeComponent(membershipIdentifier)}/ml-input-channels',
    exceptionFnMap: _exceptionFns,
  );
  return CreateMLInputChannelResponse.fromJson(response);
}