AWS SDK for Go

Get started quickly using AWS with the AWS SDK for Go. The SDK makes it easy to integrate your Go application with the full suite of AWS services including Amazon S3, Amazon DynamoDB, Amazon SQS, and more.

How it works

The AWS SDK for Go simplifies use of AWS services by providing a set of libraries that are consistent and familiar for Go developers. It supports higher level abstractions for simplified development, such as Amazon S3 Transfer Manager for seamless concurrent multi-part file uploads and Amazon DynamoDB AttributeValue and Expression utilities for easy integration of your application Go types. For other AWS tools that support Go, visit Go on AWS.

Features

The SDK takes advantage of modern Go language features. You can use Go modules to model service dependencies required by your application, and control when they should update. You can also take advantage of error wrapping feature in Go.

Learn more about error handling in the SDK
 

The SDK introduces a new middleware stack that can be used to extend or customize the request and response pipeline for each service operation. The SDK uses this same middleware stack to serialize and deserialize wire format messages for each service API operation by composing many middleware together.

Learn more about writing your own custom middleware
 

The SDK removes costly runtime reflection from the serialization and deserialization of wire formatted messages. This provides a marked decrease in CPU and memory utilization by the SDK, freeing up more of these resources for your application.

Learn more about performance improvements