createMultipartReadSetUpload method

Future<CreateMultipartReadSetUploadResponse> createMultipartReadSetUpload({
  1. required String name,
  2. required String sampleId,
  3. required String sequenceStoreId,
  4. required FileType sourceFileType,
  5. required String subjectId,
  6. String? clientToken,
  7. String? description,
  8. String? generatedFrom,
  9. String? referenceArn,
  10. Map<String, String>? tags,
})

Initiates a multipart read set upload for uploading partitioned source files into a sequence store. You can directly import source files from an EC2 instance and other local compute, or from an S3 bucket. To separate these source files into parts, use the split operation. Each part cannot be larger than 100 MB. If the operation is successful, it provides an uploadId which is required by the UploadReadSetPart API operation to upload parts into a sequence store.

To continue uploading a multipart read set into your sequence store, you must use the UploadReadSetPart API operation to upload each part individually following the steps below:

  • Specify the uploadId obtained from the previous call to CreateMultipartReadSetUpload.
  • Upload parts for that uploadId.
When you have finished uploading parts, use the CompleteMultipartReadSetUpload API to complete the multipart read set upload and to retrieve the final read set IDs in the response.

To learn more about creating parts and the split operation, see Direct upload to a sequence store in the Amazon Web Services HealthOmics User Guide.

May throw AccessDeniedException. May throw InternalServerException. May throw NotSupportedOperationException. May throw RequestTimeoutException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter name : The name of the read set.

Parameter sampleId : The source's sample ID.

Parameter sequenceStoreId : The sequence store ID for the store that is the destination of the multipart uploads.

Parameter sourceFileType : The type of file being uploaded.

Parameter subjectId : The source's subject ID.

Parameter clientToken : An idempotency token that can be used to avoid triggering multiple multipart uploads.

Parameter description : The description of the read set.

Parameter generatedFrom : Where the source originated.

Parameter referenceArn : The ARN of the reference.

Parameter tags : Any tags to add to the read set.

Implementation

Future<CreateMultipartReadSetUploadResponse> createMultipartReadSetUpload({
  required String name,
  required String sampleId,
  required String sequenceStoreId,
  required FileType sourceFileType,
  required String subjectId,
  String? clientToken,
  String? description,
  String? generatedFrom,
  String? referenceArn,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'name': name,
    'sampleId': sampleId,
    'sourceFileType': sourceFileType.value,
    'subjectId': subjectId,
    if (clientToken != null) 'clientToken': clientToken,
    if (description != null) 'description': description,
    if (generatedFrom != null) 'generatedFrom': generatedFrom,
    if (referenceArn != null) 'referenceArn': referenceArn,
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/sequencestore/${Uri.encodeComponent(sequenceStoreId)}/upload',
    exceptionFnMap: _exceptionFns,
  );
  return CreateMultipartReadSetUploadResponse.fromJson(response);
}