AWS SDK for Go
Developer Guide

Creating an Amazon DynamoDB Table Using the AWS SDK for Go

The following example uses the DynamoDBCreateTable operation to create the table Music in the us-west-2 region.

Create the file dynamodb_create_table.go. Add the following statements to import the Go and AWS SDK for Go packages used in the example.

import ( "fmt" "os" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/dynamodb" )

Initialize the session that the SDK uses to load credentials from the shared credentials file ~/.aws/credentials, and create a new DynamoDB service client.

sess, err := session.NewSession(&aws.Config{ Region: aws.String("us-west-2")}, ) // Create DynamoDB client svc := dynamodb.New(sess)

Call CreateTable. If an error occurs, print the error and exit. If no error occurs, print an message that the table was created.

input := &dynamodb.CreateTableInput{ AttributeDefinitions: []*dynamodb.AttributeDefinition{ { AttributeName: aws.String("year"), AttributeType: aws.String("N"), }, { AttributeName: aws.String("title"), AttributeType: aws.String("S"), }, }, KeySchema: []*dynamodb.KeySchemaElement{ { AttributeName: aws.String("year"), KeyType: aws.String("HASH"), }, { AttributeName: aws.String("title"), KeyType: aws.String("RANGE"), }, }, ProvisionedThroughput: &dynamodb.ProvisionedThroughput{ ReadCapacityUnits: aws.Int64(10), WriteCapacityUnits: aws.Int64(10), }, TableName: aws.String("Movies"), } _, err = svc.CreateTable(input) if err != nil { fmt.Println("Got error calling CreateTable:") fmt.Println(err.Error()) os.Exit(1) } fmt.Println("Created the table Movies in us-west-2")

See the complete example on GitHub.