startSearchResultExportJob method

Future<StartSearchResultExportJobOutput> startSearchResultExportJob({
  1. required ExportSpecification exportSpecification,
  2. required String searchJobIdentifier,
  3. String? clientToken,
  4. String? roleArn,
  5. Map<String, String>? tags,
})

This operations starts a job to export the results of search job to a designated S3 bucket.

May throw ConflictException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException.

Parameter exportSpecification : This specification contains a required string of the destination bucket; optionally, you can include the destination prefix.

Parameter searchJobIdentifier : The unique string that specifies the search job.

Parameter clientToken : Include this parameter to allow multiple identical calls for idempotency.

A client token is valid for 8 hours after the first request that uses it is completed. After this time, any request with the same token is treated as a new request.

Parameter roleArn : This parameter specifies the role ARN used to start the search results export jobs.

Parameter tags : Optional tags to include. A tag is a key-value pair you can use to manage, filter, and search for your resources. Allowed characters include UTF-8 letters, numbers, spaces, and the following characters: + - = . _ : /.

Implementation

Future<StartSearchResultExportJobOutput> startSearchResultExportJob({
  required ExportSpecification exportSpecification,
  required String searchJobIdentifier,
  String? clientToken,
  String? roleArn,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'ExportSpecification': exportSpecification,
    'SearchJobIdentifier': searchJobIdentifier,
    if (clientToken != null) 'ClientToken': clientToken,
    if (roleArn != null) 'RoleArn': roleArn,
    if (tags != null) 'Tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri: '/export-search-jobs',
    exceptionFnMap: _exceptionFns,
  );
  return StartSearchResultExportJobOutput.fromJson(response);
}