createFilter method

Future<CreateFilterResponse> createFilter({
  1. required String datasetGroupArn,
  2. required String filterExpression,
  3. required String name,
  4. List<Tag>? tags,
})

Creates a recommendation filter. For more information, see Filtering recommendations and user segments.

May throw InvalidInputException. May throw LimitExceededException. May throw ResourceAlreadyExistsException. May throw ResourceNotFoundException. May throw TooManyTagsException.

Parameter datasetGroupArn : The ARN of the dataset group that the filter will belong to.

Parameter filterExpression : The filter expression defines which items are included or excluded from recommendations. Filter expression must follow specific format rules. For information about filter expression structure and syntax, see Filter expressions.

Parameter name : The name of the filter to create.

Parameter tags : A list of tags to apply to the filter.

Implementation

Future<CreateFilterResponse> createFilter({
  required String datasetGroupArn,
  required String filterExpression,
  required String name,
  List<Tag>? tags,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AmazonPersonalize.CreateFilter'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'datasetGroupArn': datasetGroupArn,
      'filterExpression': filterExpression,
      'name': name,
      if (tags != null) 'tags': tags,
    },
  );

  return CreateFilterResponse.fromJson(jsonResponse.body);
}