abortMultipartUpload method

Future<void> abortMultipartUpload({
  1. required String accountId,
  2. required String uploadId,
  3. required String vaultName,
})

This operation aborts a multipart upload identified by the upload ID.

After the Abort Multipart Upload request succeeds, you cannot upload any more parts to the multipart upload or complete the multipart upload. Aborting a completed upload fails. However, aborting an already-aborted upload will succeed, for a short time. For more information about uploading a part and completing a multipart upload, see UploadMultipartPart and CompleteMultipartUpload.

This operation is idempotent.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Working with Archives in Amazon S3 Glacier and Abort Multipart Upload in the Amazon Glacier Developer Guide.

May throw ResourceNotFoundException. May throw InvalidParameterValueException. May throw MissingParameterValueException. May throw ServiceUnavailableException.

Parameter accountId : The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

Parameter uploadId : The upload ID of the multipart upload to delete.

Parameter vaultName : The name of the vault.

Implementation

Future<void> abortMultipartUpload({
  required String accountId,
  required String uploadId,
  required String vaultName,
}) async {
  ArgumentError.checkNotNull(accountId, 'accountId');
  ArgumentError.checkNotNull(uploadId, 'uploadId');
  ArgumentError.checkNotNull(vaultName, 'vaultName');
  await _protocol.send(
    payload: null,
    method: 'DELETE',
    requestUri:
        '/${Uri.encodeComponent(accountId)}/vaults/${Uri.encodeComponent(vaultName)}/multipart-uploads/${Uri.encodeComponent(uploadId)}',
    exceptionFnMap: _exceptionFns,
  );
}