AWS SDK for Go
Developer Guide

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

Updating an Amazon DynamoDB Table Item

The following example uses the DynamoDB UpdateItem operation to update the rating to 0.5 for the item with the year 2015 and title The Big New Movie in the Movies table in your default region.

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

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

Initialize a session that the SDK will use to load credentials from the shared credentials file ~/.aws/credentials and region from the shared configuration file ~/.aws/config and create a new DynamoDB service client.

// Initialize a session that the SDK will use to load // credentials from the shared credentials file ~/.aws/credentials // and region from the shared configuration file ~/.aws/config. sess := session.Must(session.NewSessionWithOptions(session.Options{ SharedConfigState: session.SharedConfigEnable, })) // Create DynamoDB client svc := dynamodb.New(sess)

Call UpdateItem to add the item to the table. If we encounter an error, print the error message. Otherwise, display a message that the item was updated.

// Create item in table Movies tableName := "Movies" movieName := "The Big New Movie" movieYear := "2015" movieRating := "0.5" input := &dynamodb.UpdateItemInput{ ExpressionAttributeValues: map[string]*dynamodb.AttributeValue{ ":r": { N: aws.String(movieRating), }, }, TableName: aws.String(tableName), Key: map[string]*dynamodb.AttributeValue{ "Year": { N: aws.String(movieYear), }, "Title": { S: aws.String(movieName), }, }, ReturnValues: aws.String("UPDATED_NEW"), UpdateExpression: aws.String("set Rating = :r"), } _, err := svc.UpdateItem(input) if err != nil { fmt.Println(err.Error()) return } fmt.Println("Successfully updated '" + movieName + "' (" + movieYear + ") rating to " + movieRating)

See the complete example on GitHub.