createMultipartReadSetUpload method
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
uploadIdobtained from the previous call toCreateMultipartReadSetUpload. -
Upload parts for that
uploadId.
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);
}