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.

package main import ( "fmt" "os" "github.com/aws/aws-sdk-go/aws"

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

main() { // Initialize a session in us-west-2 that the SDK will use to load // credentials from the shared credentials file ~/.aws/credentials. sess, err := session.NewSession(&aws.Config{ Region: aws.String("us-west-2")}, )

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

svc := dynamodb.New(sess) // Create table Movies 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)

See the complete example on GitHub.