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. Visit GitHub to see AWS-focused open source Go libraries.

Key Features

Familiar Go Experience

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.

Extensibility

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.

Performance

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.

Guides and Examples

Developer Guide

The developer guide describes the features for the latest version of the AWS SDK for Go v2 and how to use them.

API Reference Guide

The Go API reference guide describes the API operations for the latest version of the AWS SDK for Go. The reference guide also provides sample requests, responses, and errors for the supported web services protocols.

Migration Guide

The AWS SDK for Go v2 migration guide describes how to migrate from version 1 to version 2 of the SDK for Go.

Code samples

The SDK for Go code samples contain real-world use cases for AWS services to help accelerate development of your applications.

Additional Resources

AWS Developer Blog

Read the AWS Developer blog to get the latest news and announcements on Go.

AWS GitHub Repo

Visit GitHub to view AWS SDK and high-level library repos.