Let’s create a table named logfile_replica
to hold the replicated rows. This create-table
command is based on the command to create the logfile
table. As a result, it creates a table that can hold the same items as its upstream table.
aws dynamodb create-table --table-name logfile_replica \
--attribute-definitions AttributeName=PK,AttributeType=S AttributeName=GSI_1_PK,AttributeType=S \
--key-schema AttributeName=PK,KeyType=HASH --provisioned-throughput ReadCapacityUnits=10,WriteCapacityUnits=5 \
--tags Key=workshop-design-patterns,Value=targeted-for-cleanup \
--global-secondary-indexes "IndexName=GSI_1,KeySchema=[{AttributeName=GSI_1_PK,KeyType=HASH}],\
Projection={ProjectionType=INCLUDE,NonKeyAttributes=['bytessent', 'requestid', 'host']},\
ProvisionedThroughput={ReadCapacityUnits=10,WriteCapacityUnits=5}"
This command creates a new table and an associated global secondary index with the following definition.
logfile_replica
Attribute Name (Type) | Special Attribute? | Attribute Use Case | Sample Attribute Value |
---|---|---|---|
PK (STRING) | Partition key | Holds the request id | request#104009 |
GSI_1_PK (STRING) | GSI 1 partition key | Host | host#66.249.67.3 |
Run the following command to wait until the table becomes active.
aws dynamodb wait table-exists --table-name logfile_replica