getBucketAccelerateConfiguration method
accelerate
subresource to return the Transfer Acceleration state of a bucket, which
is either Enabled or Suspended. Amazon S3
Transfer Acceleration is a bucket-level feature that enables you to
perform faster data transfers to and from Amazon S3.
To use this operation, you must have permission to perform the
s3:GetAccelerateConfiguration action. The bucket owner has
this permission by default. The bucket owner can grant this permission to
others. For more information about permissions, see Permissions
Related to Bucket Subresource Operations and Managing
Access Permissions to your Amazon S3 Resources in the Amazon S3
User Guide.
You set the Transfer Acceleration state of an existing bucket to
Enabled or Suspended by using the PutBucketAccelerateConfiguration
operation.
A GET accelerate request does not return a state value for a
bucket that has no transfer acceleration state. A bucket has no Transfer
Acceleration state if a state has never been set on the bucket.
For more information about transfer acceleration, see Transfer Acceleration in the Amazon S3 User Guide.
The following operations are related to
GetBucketAccelerateConfiguration:
Parameter bucket :
The name of the bucket for which the accelerate configuration is
retrieved.
Parameter expectedBucketOwner :
The account ID of the expected bucket owner. If the account ID that you
provide does not match the actual owner of the bucket, the request fails
with the HTTP status code 403 Forbidden (access denied).
Implementation
Future<GetBucketAccelerateConfigurationOutput>
getBucketAccelerateConfiguration({
required String bucket,
String? expectedBucketOwner,
RequestPayer? requestPayer,
}) async {
final headers = <String, String>{
if (expectedBucketOwner != null)
'x-amz-expected-bucket-owner': expectedBucketOwner.toString(),
if (requestPayer != null) 'x-amz-request-payer': requestPayer.value,
};
final $result = await _protocol.sendRaw(
method: 'GET',
requestUri: '/${Uri.encodeComponent(bucket)}?accelerate',
headers: headers,
exceptionFnMap: _exceptionFns,
);
final $elem = await _s.xmlFromResponse($result);
return GetBucketAccelerateConfigurationOutput(
status: _s
.extractXmlStringValue($elem, 'Status')
?.let(BucketAccelerateStatus.fromString),
requestCharged: _s
.extractHeaderStringValue($result.headers, 'x-amz-request-charged')
?.let(RequestCharged.fromString),
);
}