putBucketAccelerateConfiguration method
To use this operation, you must have permission to perform the
s3:PutAccelerateConfiguration 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.
The Transfer Acceleration state of a bucket can be set to one of the following two values:
- Enabled – Enables accelerated data transfers to the bucket.
- Suspended – Disables accelerated data transfers to the bucket.
After setting the Transfer Acceleration state of a bucket to Enabled, it might take up to thirty minutes before the data transfer rates to the bucket increase.
The name of the bucket used for Transfer Acceleration must be DNS-compliant and must not contain periods (".").
For more information about transfer acceleration, see Transfer Acceleration.
The following operations are related to
PutBucketAccelerateConfiguration:
Parameter accelerateConfiguration :
Container for setting the transfer acceleration state.
Parameter bucket :
The name of the bucket for which the accelerate configuration is set.
Parameter checksumAlgorithm :
Indicates the algorithm used to create the checksum for the request when
you use the SDK. This header will not provide any additional functionality
if you don't use the SDK. When you send this header, there must be a
corresponding x-amz-checksum or x-amz-trailer
header sent. Otherwise, Amazon S3 fails the request with the HTTP status
code 400 Bad Request. For more information, see Checking
object integrity in the Amazon S3 User Guide.
If you provide an individual checksum, Amazon S3 ignores any provided
ChecksumAlgorithm parameter.
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<void> putBucketAccelerateConfiguration({
required AccelerateConfiguration accelerateConfiguration,
required String bucket,
ChecksumAlgorithm? checksumAlgorithm,
String? expectedBucketOwner,
}) async {
final headers = <String, String>{
if (checksumAlgorithm != null)
'x-amz-sdk-checksum-algorithm': checksumAlgorithm.value,
if (expectedBucketOwner != null)
'x-amz-expected-bucket-owner': expectedBucketOwner.toString(),
};
await _protocol.send(
method: 'PUT',
requestUri: '/${Uri.encodeComponent(bucket)}?accelerate',
headers: headers,
payload: accelerateConfiguration.toXml('AccelerateConfiguration'),
exceptionFnMap: _exceptionFns,
);
}