Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Skip to main content

AWS SDK for C++

Get started quickly with AWS using the AWS SDK for C++. The SDK is a modern, open-source C++ library that makes it easy to integrate your C++ application with AWS services like Amazon S3, Amazon Kinesis, and Amazon DynamoDB.

How it works

The AWS SDK for C++ provides a modern C++ interface for Amazon Web Services (AWS). It provides both high-level and low-level APIs for nearly all AWS features, minimizing dependencies and providing platform portability on Windows, macOS, Linux, and mobile. The AWS SDK for C++ simplifies coding by providing classes for interacting with each of the AWS services that are consistent and familiar for C++ developers.

Features

This easy-to-use, client-side encryption mechanism helps improve the security of storing application data in Amazon S3. Since encryption and decryption is performed client side, the private encryption keys never leave the application.

Through a simple API, the Amazon S3 TransferManager achieves enhanced throughput, performance, and reliability by making extensive use of multi-threaded Amazon S3 multipart uploads.

Regularly built and tested on a variety of platforms including Windows, Linux, Mac, Android, and iOS.

Designed to work with CMake so that users can easily compile and link against the SDK without the need to know about the SDK's dependency details. For a list of supported CMake parameters, see the Developer Guide.

Plug in your own memory managers to customize how memory is allocated and deallocated. To learn more, see the Developer Guide.