Skip to content

aws.s3.get_bucket_replication

Example SQL Queries

SELECT * FROM
aws.s3.get_bucket_replication
WHERE
"bucket" = 'VALUE';

Description

This operation is not supported by directory buckets.

Returns the replication configuration of a bucket.

It can take a while to propagate the put or delete a replication configuration to all Amazon S3 systems. Therefore, a get request soon after put or delete can return a wrong result.

For information about replication configuration, see Replication in the Amazon S3 User Guide.

This action requires permissions for the s3:GetReplicationConfiguration action. For more information about permissions, see Using Bucket Policies and User Policies.

If you include the Filter element in a replication configuration, you must also include the DeleteMarkerReplication and Priority elements. The response also returns those elements.

For information about GetBucketReplication errors, see List of replication-related error codes

Table Definition

Column NameColumn Data Type
bucket Required Input Column

The bucket name for which to get the replication information.

VARCHAR
expected_bucket_owner Input Column

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).

VARCHAR
_aws_profile Input Column

The AWS profile defines the AWS identity used. It can be defined via credentials or by assuming a IAM role.

STRUCT(
"type" VARCHAR,
"name" VARCHAR,
"account_id" VARCHAR,
"via_profile_name" VARCHAR,
"assumed_role_arn" VARCHAR,
"organization" STRUCT(
"account_name" VARCHAR,
"id" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[],
"master_account" STRUCT(
"id" VARCHAR,
"email" VARCHAR
),
"parents" STRUCT(
"type" VARCHAR,
"id" VARCHAR,
"name" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
)[]
)
)
Show child fields
_aws_profile.account_id

The AWS account id

_aws_profile.assumed_role_arn

The ARN of the assumed role

_aws_profile.name

The unique name of the profile.

_aws_profile.organization

Information about this profile's membership in the AWS organization.

Show child fields
_aws_profile.organization.account_name

The name of account speciifed by the organization

_aws_profile.organization.id

The organization id

_aws_profile.organization.master_account
Show child fields
_aws_profile.organization.master_account.email

The organization master account email address

_aws_profile.organization.master_account.id

The organization master account id

_aws_profile.organization.parents[]
Show child fields
_aws_profile.organization.parents[].id

The id of the parent

_aws_profile.organization.parents[].name

The name of the parent

_aws_profile.organization.parents[].tags[]
Show child fields
_aws_profile.organization.parents[].tags[].key
_aws_profile.organization.parents[].tags[].value
_aws_profile.organization.parents[].type

The type of parent can be an organization unit or a root

_aws_profile.organization.tags[]
Show child fields
_aws_profile.organization.tags[].key
_aws_profile.organization.tags[].value
_aws_profile.type

The type of profile, either 'credentials' or 'assumed_role'

_aws_profile.via_profile_name

This IAM role for this profile is assumed by first utilizing another profile with this name to obtain credentials.

replication_configuration

A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB.

STRUCT(
"role" VARCHAR,
"rules" STRUCT(
"id" VARCHAR,
"priority" BIGINT,
"prefix" VARCHAR,
"filter" STRUCT(
"prefix" VARCHAR,
"tag" STRUCT(
"key" VARCHAR,
"value" VARCHAR
),
"and" STRUCT(
"prefix" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
)
),
"status" VARCHAR,
"source_selection_criteria" STRUCT(
"sse_kms_encrypted_objects" STRUCT(
"status" VARCHAR
),
"replica_modifications" STRUCT(
"status" VARCHAR
)
),
"existing_object_replication" STRUCT(
"status" VARCHAR
),
"destination" STRUCT(
"bucket" VARCHAR,
"account" VARCHAR,
"storage_class" VARCHAR,
"access_control_translation" STRUCT(
"owner" VARCHAR
),
"encryption_configuration" STRUCT(
"replica_kms_key_id" VARCHAR
),
"replication_time" STRUCT(
"status" VARCHAR,
"time" STRUCT(
"minutes" BIGINT
)
),
"metrics" STRUCT(
"status" VARCHAR,
"event_threshold" STRUCT(
"minutes" BIGINT
)
)
),
"delete_marker_replication" STRUCT(
"status" VARCHAR
)
)[]
)
Show child fields
replication_configuration.role

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects. For more information, see How to Set Up Replication in the Amazon S3 User Guide.

replication_configuration.rules[]
Show child fields
replication_configuration.rules[].delete_marker_replication

Specifies whether Amazon S3 replicates delete markers. If you specify a Filter in your replication configuration, you must also include a DeleteMarkerReplication element. If your Filter includes a Tag element, the DeleteMarkerReplication Status must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see Basic Rule Configuration.

For more information about delete marker replication, see Basic Rule Configuration.

If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility.

Show child fields
replication_configuration.rules[].delete_marker_replication.status

Indicates whether to replicate delete markers.

Indicates whether to replicate delete markers.

replication_configuration.rules[].destination

A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).

Show child fields
replication_configuration.rules[].destination.access_control_translation

Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same Amazon Web Services account that owns the source object.

Show child fields
replication_configuration.rules[].destination.access_control_translation.owner

Specifies the replica ownership. For default and valid values, see PUT bucket replication in the Amazon S3 API Reference.

replication_configuration.rules[].destination.account

Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the Amazon Web Services account that owns the destination bucket by specifying the AccessControlTranslation property, this is the account ID of the destination bucket owner. For more information, see Replication Additional Configuration: Changing the Replica Owner in the Amazon S3 User Guide.

replication_configuration.rules[].destination.bucket

The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.

replication_configuration.rules[].destination.encryption_configuration

A container that provides information about encryption. If SourceSelectionCriteria is specified, you must specify this element.

Show child fields
replication_configuration.rules[].destination.encryption_configuration.replica_kms_key_id

Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web Services KMS key stored in Amazon Web Services Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.

replication_configuration.rules[].destination.metrics

A container specifying replication metrics-related settings enabling replication metrics and events.

Show child fields
replication_configuration.rules[].destination.metrics.event_threshold

A container specifying the time threshold for emitting the s3:Replication:OperationMissedThreshold event.

Show child fields
replication_configuration.rules[].destination.metrics.event_threshold.minutes

Contains an integer specifying time in minutes.

Valid value: 15

replication_configuration.rules[].destination.metrics.status

Specifies whether the replication metrics are enabled.

replication_configuration.rules[].destination.replication_time

A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a Metrics block.

Show child fields
replication_configuration.rules[].destination.replication_time.status

Specifies whether the replication time is enabled.

replication_configuration.rules[].destination.replication_time.time

A container specifying the time by which replication should be complete for all objects and operations on objects.

Show child fields
replication_configuration.rules[].destination.replication_time.time.minutes

Contains an integer specifying time in minutes.

Valid value: 15

replication_configuration.rules[].destination.storage_class

The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.

For valid values, see the StorageClass element of the PUT Bucket replication action in the Amazon S3 API Reference.

replication_configuration.rules[].existing_object_replication

Optional configuration to replicate existing source bucket objects. For more information, see Replicating Existing Objects in the Amazon S3 User Guide.

Show child fields
replication_configuration.rules[].existing_object_replication.status

Specifies whether Amazon S3 replicates existing source bucket objects.

replication_configuration.rules[].filter

A filter that identifies the subset of objects to which the replication rule applies. A Filter must specify exactly one Prefix, Tag, or an And child element.

Show child fields
replication_configuration.rules[].filter.and

A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example:

  • If you specify both a Prefix and a Tag filter, wrap these filters in an And tag.

  • If you specify a filter based on multiple tags, wrap the Tag elements in an And tag.

Show child fields
replication_configuration.rules[].filter.and.prefix

An object key name prefix that identifies the subset of objects to which the rule applies.

replication_configuration.rules[].filter.and.tags[]
Show child fields
replication_configuration.rules[].filter.and.tags[].key

Name of the object key.

replication_configuration.rules[].filter.and.tags[].value

Value of the tag.

replication_configuration.rules[].filter.prefix

An object key name prefix that identifies the subset of objects to which the rule applies.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

replication_configuration.rules[].filter.tag

A container for specifying a tag key and value.

The rule applies only to objects that have the tag in their tag set.

Show child fields
replication_configuration.rules[].filter.tag.key

Name of the object key.

replication_configuration.rules[].filter.tag.value

Value of the tag.

replication_configuration.rules[].id

A unique identifier for the rule. The maximum value is 255 characters.

replication_configuration.rules[].prefix

An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

replication_configuration.rules[].priority

The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority.

For more information, see Replication in the Amazon S3 User Guide.

replication_configuration.rules[].source_selection_criteria

A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects. Currently, Amazon S3 supports only the filter that you can specify for objects created with server-side encryption using a customer managed key stored in Amazon Web Services Key Management Service (SSE-KMS).

Show child fields
replication_configuration.rules[].source_selection_criteria.replica_modifications

A filter that you can specify for selections for modifications on replicas. Amazon S3 doesn't replicate replica modifications by default. In the latest version of replication configuration (when Filter is specified), you can specify this element and set the status to Enabled to replicate modifications on replicas.

If you don't specify the Filter element, Amazon S3 assumes that the replication configuration is the earlier version, V1. In the earlier version, this element is not allowed

Show child fields
replication_configuration.rules[].source_selection_criteria.replica_modifications.status

Specifies whether Amazon S3 replicates modifications on replicas.

replication_configuration.rules[].source_selection_criteria.sse_kms_encrypted_objects

A container for filter information for the selection of Amazon S3 objects encrypted with Amazon Web Services KMS. If you include SourceSelectionCriteria in the replication configuration, this element is required.

Show child fields
replication_configuration.rules[].source_selection_criteria.sse_kms_encrypted_objects.status

Specifies whether Amazon S3 replicates objects created with server-side encryption using an Amazon Web Services KMS key stored in Amazon Web Services Key Management Service.

replication_configuration.rules[].status

Specifies whether the rule is enabled.