Step 1: Create a Table with Python - Amazon DynamoDB

Step 1: Create a Table with Python

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

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

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

  1. Copy the following program and paste it into a file named

    import boto3 def create_movie_table(dynamodb=None): if not dynamodb: dynamodb = boto3.resource('dynamodb', endpoint_url="http://localhost:8000") table = dynamodb.create_table( TableName='Movies', KeySchema=[ { 'AttributeName': 'year', 'KeyType': 'HASH' # Partition key }, { 'AttributeName': 'title', 'KeyType': 'RANGE' # Sort key } ], AttributeDefinitions=[ { 'AttributeName': 'year', 'AttributeType': 'N' }, { 'AttributeName': 'title', 'AttributeType': 'S' }, ], ProvisionedThroughput={ 'ReadCapacityUnits': 10, 'WriteCapacityUnits': 10 } ) return table if __name__ == '__main__': movie_table = create_movie_table() print("Table status:", movie_table.table_status)
    • You set the endpoint to indicate that you are creating the table in the downloadable version of DynamoDB on your computer.

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

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

    • These examples use the Python 3 style print function. The line from __future__ import print_function enables Python 3 printing in Python 2.6 and later.

  2. To run the program, enter the following command.


To learn more about managing tables, see Working with Tables and Data in DynamoDB.