Create a table with multi-Region replication.
# Step 1: Create a new table (MusicTable) in US East (Ohio), with DynamoDB Streams enabled (NEW_AND_OLD_IMAGES)
aws dynamodb create-table \
--table-name MusicTable \
--attribute-definitions \
AttributeName=Artist,AttributeType=S \
AttributeName=SongTitle,AttributeType=S \
--key-schema \
AttributeName=Artist,KeyType=HASH \
AttributeName=SongTitle,KeyType=RANGE \
--billing-mode PAY_PER_REQUEST \
--stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \
--region us-east-2
# Step 2: Create an identical MusicTable table in US East (N. Virginia)
aws dynamodb update-table --table-name MusicTable --cli-input-json \
'{
"ReplicaUpdates":
[
{
"Create": {
"RegionName": "us-east-1"
}
}
]
}' \
--region us-east-2
# Step 3: Create a table in Europe (Ireland)
aws dynamodb update-table --table-name MusicTable --cli-input-json \
'{
"ReplicaUpdates":
[
{
"Create": {
"RegionName": "eu-west-1"
}
}
]
}' \
--region us-east-2
Describe the multi-Region table.
# Step 4: View the list of replicas created using describe-table
aws dynamodb describe-table \
--table-name MusicTable \
--region us-east-2 \
--query 'Table.{TableName:TableName,TableStatus:TableStatus,MultiRegionConsistency:MultiRegionConsistency,Replicas:Replicas[*].{Region:RegionName,Status:ReplicaStatus}}'
Put items in a replica table.
# Step 5: To verify that replication is working, add a new item to the Music table in US East (Ohio)
aws dynamodb put-item \
--table-name MusicTable \
--item '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \
--region us-east-2
Get items from replica tables.
# Step 6: Wait for a few seconds, and then check to see whether the item has been
# successfully replicated to US East (N. Virginia) and Europe (Ireland)
aws dynamodb get-item \
--table-name MusicTable \
--key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \
--region us-east-1
aws dynamodb get-item \
--table-name MusicTable \
--key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \
--region eu-west-1
Remove replicas.
# Step 7: Delete the replica table in Europe (Ireland) Region
aws dynamodb update-table --table-name MusicTable --cli-input-json \
'{
"ReplicaUpdates":
[
{
"Delete": {
"RegionName": "eu-west-1"
}
}
]
}' \
--region us-east-2
# Delete the replica table in US East (N. Virginia) Region
aws dynamodb update-table --table-name MusicTable --cli-input-json \
'{
"ReplicaUpdates":
[
{
"Delete": {
"RegionName": "us-east-1"
}
}
]
}' \
--region us-east-2
Clean up by deleting the table.
# Clean up: Delete the primary table
aws dynamodb delete-table --table-name MusicTable --region us-east-2
echo "Global table demonstration complete."