Bird
Raised Fist0
DynamoDBquery~10 mins

First table creation in DynamoDB - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to specify the table name when creating a DynamoDB table.

DynamoDB
TableName='[1]',
Drag options to blanks, or click blank then click option'
AUsers
BCreateTable
CTable
DDatabase
Attempts:
3 left
💡 Hint
Common Mistakes
Using reserved words like 'CreateTable' as the table name.
Leaving the table name empty or misspelled.
2fill in blank
medium

Complete the code to define the primary key attribute name for the DynamoDB table.

DynamoDB
"AttributeName": "[1]",
Drag options to blanks, or click blank then click option'
APrimaryKey
BUserId
CKeyName
DId
Attempts:
3 left
💡 Hint
Common Mistakes
Using generic names like 'Id' without context.
Using names that don't match the key schema.
3fill in blank
hard

Fix the error in the key schema by completing the code with the correct key type.

DynamoDB
"KeyType": "[1]"
Drag options to blanks, or click blank then click option'
ASORT
BPRIMARY
CHASH
DKEY
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'PRIMARY' or 'KEY' which are not valid DynamoDB key types.
Confusing 'HASH' with 'SORT' when only one key is defined.
4fill in blank
hard

Fill both blanks to define the attribute type and key type correctly in the table creation.

DynamoDB
"AttributeType": "[1]", "KeyType": "[2]"
Drag options to blanks, or click blank then click option'
AS
BN
CHASH
DSORT
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing attribute types and key types.
Using 'N' when the key is a string.
5fill in blank
hard

Fill all three blanks to complete the provisioned throughput settings for the DynamoDB table.

DynamoDB
"ProvisionedThroughput": {"ReadCapacityUnits": [1], "WriteCapacityUnits": [2], "SomeOtherSetting": [3]
Drag options to blanks, or click blank then click option'
A5
B10
C0
D15
Attempts:
3 left
💡 Hint
Common Mistakes
Setting write capacity higher than read capacity without reason.
Using zero for capacity units which disables throughput.

Practice

(1/5)
1. What is the minimum required element when creating a DynamoDB table?
easy
A. Table name and global secondary index
B. Table name and secondary index
C. Table name and primary key
D. Provisioned throughput only

Solution

  1. Step 1: Understand DynamoDB table basics

    Every DynamoDB table must have a unique name and a primary key to identify items.
  2. Step 2: Identify required elements for creation

    Secondary indexes and throughput settings are optional or have defaults, but primary key and table name are mandatory.
  3. Final Answer:

    Table name and primary key -> Option C
  4. Quick Check:

    Minimum required = Table name + primary key [OK]
Hint: Always specify table name and primary key first [OK]
Common Mistakes:
  • Forgetting to define the primary key
  • Confusing secondary index as mandatory
  • Omitting the table name
2. Which AWS CLI command correctly creates a DynamoDB table named Users with a primary key UserId of type string?
easy
A. aws dynamodb create-table --table-name Users --attribute-definitions AttributeName=UserId,AttributeType=S --key-schema AttributeName=UserId,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
B. aws dynamodb create-table --name Users --key UserId --type S
C. aws dynamodb create-table --table Users --primary-key UserId String
D. aws dynamodb make-table --table-name Users --key UserId --attribute-type S

Solution

  1. Step 1: Check AWS CLI syntax for create-table

    The correct command uses 'aws dynamodb create-table' with options: --table-name, --attribute-definitions, --key-schema, and --provisioned-throughput.
  2. Step 2: Verify option correctness

    aws dynamodb create-table --table-name Users --attribute-definitions AttributeName=UserId,AttributeType=S --key-schema AttributeName=UserId,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 correctly specifies attribute name and type, key schema with HASH key, and provisioned throughput. Others use invalid or incomplete syntax.
  3. Final Answer:

    aws dynamodb create-table --table-name Users --attribute-definitions AttributeName=UserId,AttributeType=S --key-schema AttributeName=UserId,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 -> Option A
  4. Quick Check:

    Correct CLI syntax = aws dynamodb create-table --table-name Users --attribute-definitions AttributeName=UserId,AttributeType=S --key-schema AttributeName=UserId,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 [OK]
Hint: Use full AWS CLI syntax with attribute-definitions and key-schema [OK]
Common Mistakes:
  • Using wrong command name like make-table
  • Missing attribute-definitions or key-schema
  • Incorrect option names like --name instead of --table-name
3. Given this AWS CLI command, what will be the primary key type of the table?
aws dynamodb create-table --table-name Products --attribute-definitions AttributeName=ProductId,AttributeType=N --key-schema AttributeName=ProductId,KeyType=HASH --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1
medium
A. String
B. Binary
C. Boolean
D. Number

Solution

  1. Step 1: Identify attribute type in attribute-definitions

    The attribute ProductId is defined with AttributeType=N, which means Number.
  2. Step 2: Confirm key schema uses ProductId as HASH key

    The key schema uses ProductId as the partition key, so its type is Number.
  3. Final Answer:

    Number -> Option D
  4. Quick Check:

    AttributeType=N means Number [OK]
Hint: AttributeType=N means Number, S means String [OK]
Common Mistakes:
  • Confusing N with String type
  • Ignoring attribute-definitions
  • Assuming default type is String
4. You run this command but get an error:
aws dynamodb create-table --table-name Orders --attribute-definitions AttributeName=OrderId --key-schema AttributeName=OrderId,KeyType=HASH --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1

What is the likely cause?
medium
A. Missing KeyType in key-schema
B. Missing AttributeType in attribute-definitions
C. Provisioned throughput values are too low
D. Table name is invalid

Solution

  1. Step 1: Check attribute-definitions syntax

    The attribute-definitions must include AttributeType (S, N, or B). Here, AttributeType is missing.
  2. Step 2: Verify other parts

    KeyType is present, throughput values are valid, and table name is valid. So the error is due to missing AttributeType.
  3. Final Answer:

    Missing AttributeType in attribute-definitions -> Option B
  4. Quick Check:

    AttributeType required in attribute-definitions [OK]
Hint: Always specify AttributeType with AttributeName [OK]
Common Mistakes:
  • Omitting AttributeType in attribute-definitions
  • Confusing KeyType with AttributeType
  • Assuming throughput values cause error
5. You want to create a DynamoDB table named Employees with a composite primary key: EmployeeId (string) as partition key and Department (string) as sort key. Which command correctly creates this table?
hard
A. aws dynamodb create-table --table-name Employees --attribute-definitions AttributeName=EmployeeId,AttributeType=S AttributeName=Department,AttributeType=S --key-schema AttributeName=EmployeeId,KeyType=HASH AttributeName=Department,KeyType=RANGE --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
B. aws dynamodb create-table --table-name Employees --attribute-definitions EmployeeId=S Department=S --key-schema EmployeeId=HASH Department=RANGE --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
C. aws dynamodb create-table --table Employees --attributes EmployeeId:string Department:string --keys EmployeeId:partition Department:sort --throughput 5 5
D. aws dynamodb create-table --table-name Employees --attribute-definitions AttributeName=EmployeeId,AttributeType=S --key-schema AttributeName=EmployeeId,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5

Solution

  1. Step 1: Define attribute-definitions for both keys

    Both EmployeeId and Department must be defined with AttributeType=S.
  2. Step 2: Define key-schema with HASH and RANGE keys

    EmployeeId is partition key (HASH), Department is sort key (RANGE).
  3. Step 3: Check command syntax

    aws dynamodb create-table --table-name Employees --attribute-definitions AttributeName=EmployeeId,AttributeType=S AttributeName=Department,AttributeType=S --key-schema AttributeName=EmployeeId,KeyType=HASH AttributeName=Department,KeyType=RANGE --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 correctly uses --attribute-definitions and --key-schema with proper syntax and throughput.
  4. Final Answer:

    aws dynamodb create-table --table-name Employees --attribute-definitions AttributeName=EmployeeId,AttributeType=S AttributeName=Department,AttributeType=S --key-schema AttributeName=EmployeeId,KeyType=HASH AttributeName=Department,KeyType=RANGE --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 -> Option A
  5. Quick Check:

    Composite key needs both keys in attribute-definitions and key-schema [OK]
Hint: List all keys in attribute-definitions and key-schema [OK]
Common Mistakes:
  • Defining only partition key without sort key
  • Incorrect key-schema syntax
  • Missing attribute definition for sort key