putBucketReplication method
- The name of the destination bucket or buckets where you want S3 on Outposts to replicate objects
- The Identity and Access Management (IAM) role that S3 on Outposts can assume to replicate objects on your behalf
- Other relevant information, such as replication rules
To specify a subset of the objects in the source Outposts bucket to apply
a replication rule to, add the Filter element as a child of
the Rule element. You can filter objects based on an object
key prefix, one or more object tags, or both. When you add the
Filter element in the configuration, you must also add the
following elements: DeleteMarkerReplication,
Status, and Priority.
Using PutBucketReplication on Outposts requires that both the
source and destination buckets must have versioning enabled. For
information about enabling versioning on a bucket, see Managing
S3 Versioning for your S3 on Outposts bucket.
For information about S3 on Outposts replication failure reasons, see Replication failure reasons in the Amazon S3 User Guide.
Handling Replication of Encrypted Objects
Outposts buckets are encrypted at all times. All the objects in the source Outposts bucket are encrypted and can be replicated. Also, all the replicas in the destination Outposts bucket are encrypted with the same encryption key as the objects in the source Outposts bucket.
Permissions
To create a PutBucketReplication request, you must have
s3-outposts:PutReplicationConfiguration permissions for the
bucket. The Outposts bucket owner has this permission by default and can
grant it to others. For more information about permissions, see Setting
up IAM with S3 on Outposts and Managing
access to S3 on Outposts buckets.
All Amazon S3 on Outposts REST API requests for this action require an
additional parameter of x-amz-outpost-id to be passed with
the request. In addition, you must use an S3 on Outposts endpoint hostname
prefix instead of s3-control. For an example of the request
syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint
hostname prefix and the x-amz-outpost-id derived by using the
access point ARN, see the Examples
section.
The following operations are related to PutBucketReplication:
Parameter accountId :
The Amazon Web Services account ID of the Outposts bucket.
Parameter bucket :
Specifies the S3 on Outposts bucket to set the configuration for.
For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
For using this parameter with S3 on Outposts with the Amazon Web Services
SDK and CLI, you must specify the ARN of the bucket accessed in the format
arn:aws:s3-outposts:.
For example, to access the bucket reports through Outpost
my-outpost owned by account 123456789012 in
Region us-west-2, use the URL encoding of
arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports.
The value must be URL encoded.
Parameter replicationConfiguration :
Implementation
Future<void> putBucketReplication({
required String accountId,
required String bucket,
required ReplicationConfiguration replicationConfiguration,
}) async {
final headers = <String, String>{
'x-amz-account-id': accountId.toString(),
};
await _protocol.send(
method: 'PUT',
requestUri:
'/v20180820/bucket/${Uri.encodeComponent(bucket)}/replication',
headers: headers,
payload: replicationConfiguration.toXml('ReplicationConfiguration'),
exceptionFnMap: _exceptionFns,
);
}