A multi-account replica of a DynamoDB table. This construct represents a replica table in a different AWS account from the source table. It inherits the schema (partition key, sort key, and indexes) from the source table. Permissions on the replica side are automatically configured. You must manually add permissions to the source table using `sourceTable.grants.nultiAccountReplicationTo(replica.tableArn)`.
import { TableV2MultiAccountReplica } from 'aws-cdk-lib/aws-dynamodb';Or use the module namespace:
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
// dynamodb.TableV2MultiAccountReplicaConfiguration passed to the constructor as TableV2MultiAccountReplicaProps.
encryptionOptionalTableEncryptionV2The server-side encryption configuration for the replica table. Note: Each replica manages its own encryption independently. This is not synchronized across replicas.
Default: TableEncryptionV2.dynamoOwnedKey()
globalTableSettingsReplicationModeOptionalGlobalTableSettingsReplicationModeControls whether table settings are synchronized across replicas. When set to ALL, synchronizable settings (billing mode, throughput, TTL, streams view type, GSIs) are automatically replicated across all replicas. When set to NONE, each replica manages its own settings independently (billing mode must be PAY_PER_REQUEST). Note: Some settings are always synchronized (key schema, LSIs) regardless of this setting, and some are never synchronized (table class, SSE, deletion protection, PITR, tags, resource policy).
Default: GlobalTableSettingsReplicationMode.ALL
grantIndexPermissionsOptionalbooleanWhether or not to grant permissions for all indexes of the table. Note: If false, permissions will only be granted to indexes when `globalIndexes` is specified.
Default: false
removalPolicyOptionalRemovalPolicyThe removal policy applied to the table.
Default: RemovalPolicy.RETAIN
replicaSourceTableOptionalITableV2The source table to replicate from. [disable-awslint:prefer-ref-interface]
Default: - must be provided
tableNameOptionalstringEnforces a particular physical table name.
Default: - generated by CloudFormation
TableOptionsV2contributorInsightsOptionalDeprecatedinherited from TableOptionsV2booleanWhether CloudWatch contributor insights is enabled.
Default: false
Deprecated: use `contributorInsightsSpecification` instead
contributorInsightsSpecificationOptionalinherited from TableOptionsV2ContributorInsightsSpecificationWhether CloudWatch contributor insights is enabled and what mode is selected.
Default: - contributor insights is not enabled
deletionProtectionOptionalinherited from TableOptionsV2booleanWhether deletion protection is enabled.
Default: false
kinesisStreamOptionalinherited from TableOptionsV2IStreamKinesis Data Stream to capture item level changes.
Default: - no Kinesis Data Stream
pointInTimeRecoveryOptionalDeprecatedinherited from TableOptionsV2booleanWhether point-in-time recovery is enabled.
Default: false - point in time recovery is not enabled.
Deprecated: use `pointInTimeRecoverySpecification` instead
pointInTimeRecoverySpecificationOptionalinherited from TableOptionsV2PointInTimeRecoverySpecificationWhether point-in-time recovery is enabled and recoveryPeriodInDays is set.
Default: - point in time recovery is not enabled.
resourcePolicyOptionalinherited from TableOptionsV2PolicyDocumentResource policy to assign to DynamoDB Table.
Default: - No resource policy statements are added to the created table.
tableClassOptionalinherited from TableOptionsV2TableClassThe table class.
Default: TableClass.STANDARD
tagsOptionalinherited from TableOptionsV2CfnTag[]Tags to be applied to the primary table (default replica table).
Default: - no tags
Everything you need to know about Amazon DynamoDB on one page. HD quality, print-friendly.
Download Free Infographicaws-dynamodb