Amazon DynamoDB
Getting Started Guide (API Version 2012-08-10)

Step 1: Create a Table

In this step, you create a table named Movies. The primary key for the table is composed of the following two attributes:

  • year – The partition key. The attribute_type is N for number. 

  • title – The sort key. The attribute_type is S for string.

  1. Copy the following program into a file named MoviesCreateTable.rb:

    require "aws-sdk-core"
      region: "us-west-2",
      endpoint: "http://localhost:8000"
    dynamodb =
    params = {
        table_name: "Movies",
        key_schema: [
                attribute_name: "year",
                key_type: "HASH"  #Partition key
                attribute_name: "title",
                key_type: "RANGE" #Sort key 
        attribute_definitions: [
                attribute_name: "year",
                attribute_type: "N"
                attribute_name: "title",
                attribute_type: "S"
        provisioned_throughput: { 
            read_capacity_units: 10,
            write_capacity_units: 10
        result = dynamodb.create_table(params)
        puts "Created table. Status: " + 
    rescue  Aws::DynamoDB::Errors::ServiceError => error
        puts "Unable to create table:"
        puts "#{error.message}"


    • You set the endpoint (endpoint: "http://localhost:8000") to indicate that you are creating the table in DynamoDB on your computer.

    • In the create_table call, you specify table name, primary key attributes, and its data types.

    • The provisioned_throughput parameter is required; however, the downloadable version of DynamoDB ignores it. (Provisioned throughput is beyond the scope of this exercise.)

  2. Type the following command to run the program:

    ruby MoviesCreateTable.rb

To learn more about managing tables, see Working with Tables in the Amazon DynamoDB Developer Guide.

Next Step

Step 2: Load Sample Data