Bird
Raised Fist0
DynamoDBquery~10 mins

Index projection types (ALL, KEYS_ONLY, INCLUDE) in DynamoDB - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to set the projection type to include all attributes in a DynamoDB index.

DynamoDB
Projection: { ProjectionType: "[1]" }
Drag options to blanks, or click blank then click option'
AALL
BINCLUDE
CNONE
DKEYS_ONLY
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing KEYS_ONLY will only include key attributes, not all.
Selecting INCLUDE requires specifying non-key attributes explicitly.
2fill in blank
medium

Complete the code to set the projection type to include only the index keys in a DynamoDB index.

DynamoDB
Projection: { ProjectionType: "[1]" }
Drag options to blanks, or click blank then click option'
AKEYS_ONLY
BNONE
CINCLUDE
DALL
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing ALL includes all attributes, not just keys.
INCLUDE requires specifying attributes explicitly.
3fill in blank
hard

Fix the error in the projection type to include specific non-key attributes in a DynamoDB index.

DynamoDB
Projection: { ProjectionType: "[1]", NonKeyAttributes: ["Attribute1", "Attribute2"] }
Drag options to blanks, or click blank then click option'
AKEYS_ONLY
BINCLUDE
CALL
DNONE
Attempts:
3 left
💡 Hint
Common Mistakes
Using ALL ignores NonKeyAttributes because it includes everything.
KEYS_ONLY does not allow specifying extra attributes.
4fill in blank
hard

Fill both blanks to define a DynamoDB index projection that includes only keys and specific attributes.

DynamoDB
Projection: { ProjectionType: "[1]", NonKeyAttributes: ["[2]"] }
Drag options to blanks, or click blank then click option'
AINCLUDE
BALL
CAttributeX
DKEYS_ONLY
Attempts:
3 left
💡 Hint
Common Mistakes
Using KEYS_ONLY with NonKeyAttributes causes errors.
ALL projection type ignores NonKeyAttributes.
5fill in blank
hard

Fill all three blanks to define a DynamoDB index projection with INCLUDE type and two specific non-key attributes.

DynamoDB
Projection: { ProjectionType: "[1]", NonKeyAttributes: ["[2]", "[3]"] }
Drag options to blanks, or click blank then click option'
AKEYS_ONLY
BAttributeA
CAttributeB
DINCLUDE
Attempts:
3 left
💡 Hint
Common Mistakes
Using KEYS_ONLY projection with NonKeyAttributes causes errors.
Forgetting to list all desired attributes in NonKeyAttributes.

Practice

(1/5)
1. Which DynamoDB index projection type copies all attributes from the base table to the index?
easy
A. ALL
B. KEYS_ONLY
C. INCLUDE
D. PARTIAL

Solution

  1. Step 1: Understand projection types

    ALL copies every attribute from the base table to the index.
  2. Step 2: Compare with other types

    KEYS_ONLY copies only keys; INCLUDE copies keys plus selected attributes.
  3. Final Answer:

    ALL -> Option A
  4. Quick Check:

    ALL = copies all attributes [OK]
Hint: ALL means every attribute is copied to the index [OK]
Common Mistakes:
  • Confusing INCLUDE with ALL
  • Thinking KEYS_ONLY copies all attributes
  • Assuming PARTIAL is a valid projection type
2. Which of the following is the correct way to specify a KEYS_ONLY projection in a DynamoDB index definition?
easy
A. "ProjectionType": "ALL"
B. "ProjectionType": "KEYS_ONLY"
C. "ProjectionType": "INCLUDE"
D. "ProjectionType": "KEYS"

Solution

  1. Step 1: Recall correct syntax for KEYS_ONLY

    The projection type must be exactly "KEYS_ONLY" in quotes.
  2. Step 2: Eliminate incorrect options

    ALL and INCLUDE are valid but not KEYS_ONLY; "KEYS" is invalid syntax.
  3. Final Answer:

    "ProjectionType": "KEYS_ONLY" -> Option B
  4. Quick Check:

    KEYS_ONLY syntax = "KEYS_ONLY" [OK]
Hint: Use exact string "KEYS_ONLY" for keys-only projection [OK]
Common Mistakes:
  • Using "KEYS" instead of "KEYS_ONLY"
  • Confusing INCLUDE with KEYS_ONLY syntax
  • Omitting quotes around projection type
3. Given a DynamoDB table with attributes id, name, age, and city, and a Global Secondary Index (GSI) with projection type INCLUDE and non-key attributes age and city, which attributes will be available in the index?
medium
A. id, age, and city
B. id, name, age, and city
C. Only age and city
D. Only id and name

Solution

  1. Step 1: Identify keys and included attributes

    Index always includes keys; INCLUDE adds specified non-key attributes.
  2. Step 2: Determine which attributes are keys

    Assuming id is the partition key, name is not a key.
  3. Step 3: Combine keys and included attributes

    Index has id (key), plus age and city (included).
  4. Final Answer:

    id, age, and city -> Option A
  5. Quick Check:

    INCLUDE = keys + chosen attributes [OK]
Hint: INCLUDE = keys plus only specified extra attributes [OK]
Common Mistakes:
  • Including non-key attributes not specified in INCLUDE
  • Assuming all attributes are included
  • Confusing keys with non-key attributes
4. You defined a DynamoDB index with projection type INCLUDE but forgot to specify any non-key attributes. What will happen when you try to create this index?
medium
A. The index will include keys plus all attributes by default.
B. The index will include only the keys, ignoring INCLUDE.
C. The index will include all attributes from the base table.
D. The index creation will fail with a validation error.

Solution

  1. Step 1: Understand INCLUDE projection requirements

    INCLUDE requires specifying at least one non-key attribute.
  2. Step 2: Check behavior when no attributes specified

    Omitting non-key attributes causes a validation error during index creation.
  3. Final Answer:

    The index creation will fail with a validation error. -> Option D
  4. Quick Check:

    INCLUDE needs attributes; missing causes error [OK]
Hint: INCLUDE must list attributes; empty list causes error [OK]
Common Mistakes:
  • Assuming INCLUDE defaults to ALL attributes
  • Thinking index silently defaults to KEYS_ONLY
  • Ignoring validation errors on index creation
5. You want to optimize a DynamoDB Global Secondary Index (GSI) to reduce storage costs but still need to query by email and retrieve phone and address attributes quickly. Which projection type should you choose?
hard
A. ALL
B. KEYS_ONLY
C. INCLUDE with phone and address
D. INCLUDE with email only

Solution

  1. Step 1: Understand storage cost vs attribute needs

    ALL copies all attributes but costs more storage; KEYS_ONLY copies only keys.
  2. Step 2: Identify needed attributes for queries

    You need email as key and phone, address for quick retrieval.
  3. Step 3: Choose INCLUDE projection with needed attributes

    INCLUDE lets you copy keys plus only phone and address, saving storage.
  4. Final Answer:

    INCLUDE with phone and address -> Option C
  5. Quick Check:

    INCLUDE = keys + needed attributes saves cost [OK]
Hint: Use INCLUDE to add only needed attributes, saving space [OK]
Common Mistakes:
  • Choosing ALL and increasing storage unnecessarily
  • Using KEYS_ONLY and missing needed attributes
  • Including only email but not phone or address
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard