Current Students, visit the student website for the information you need.
Student Portal

Objectives

  • Install AWS CLI
  • Run DynamoDB Locally
  • Issue AWS CLI commands
  • Execute DynamoDB commands

Project Overview

Your web application needs to have data. You have decided that you want to use a NoSQL database and specifically you have decided to use AWS DynamoDB. In order to minimize costs, you are setting up your development machine with a local instance of DynamoDB in order to avoid billing charges that would be incurred during the development phase if you were running your development database on AWS.

Project Details

Install DynamoDB Locally & Seed w/ Data

  • Install the AWS CLI. After installation, run the aws configure command to load valid credentials for the aws cli.
  • Install a local instance of DynamoDB. In order to complete this task, it may be necessary to install the pre-req components of the AWS CLI and a Java Runtime Environment (JRE)
  • Create the BaseballStats table (both locally and on AWS). List the commands you used below: (5 points)
  • Seed the BaseballStats local instance with teams, players, and games. List the commands you used below: (5 points)
  • Scan the BaseballStats local instance. List the command you used below: (5 points)
  • Scan & Filter the BaseballStats local instance to see only the players. List the command you used below: (5 points)

DynamoDB Planning and Structure

In addition to the BaseballStats data, you have been tasked with storing customer information. Customers are currently scheduled to consume the BaseballStats data, but your company is looking to expand into other sports as well. Ultimately, your company's goal is to have an equal distribution of customers across 5 different sports. You have made the decision that the Customers table will be a separate table from your sports data.

  • For your customers table, what would be an appropriate partition key and sort key? Please explain your choices: (5 points)

Tests and Verification

  • Can I visually see the BaseballStats table on AWS?
  • Am I able to see the results from scanning and querying the BaseballStats table?
  • Do your AWS CLI commands work both locally and on the AWS site?

Grading Rubric (Total: 50 points)

Setup & Configuration (10 points)

  • AWS CLI & local DynamoDB install: 6 points — Proper installation, `aws configure` completed with valid profile
  • Local DynamoDB running: 4 points — Local instance started and reachable

Commands & Data Operations (30 points)

  • Create BaseballStats table (commands): 6 points — Correct command(s) for local and AWS creation, correct table schema
  • Seed BaseballStats (teams/players/games): 6 points — Commands import data successfully and records are present
  • Scan the BaseballStats table: 6 points — Scan command shown and returns expected results
  • Scan & filter for players: 6 points — Filtered scan/query returns only player records
  • DynamoDB planning (Customers PK/SK): 6 points — Clear rationale and appropriate key choice with examples

Testing, Verification & Documentation (10 points)

  • Visibility on AWS: 4 points — Table visible on AWS console and local/AWS results match
  • Command functionality both locally and on AWS: 3 points — Commands work in both environments and are documented
  • Submission completeness: 3 points — Submission includes commands, screenshots, and brief notes

What did I learn?

  • NoSQL database structure
  • How to access NoSQL data
  • Use AWS CLI to issue AWS commands