AWS SDK for Ruby

Develop and deploy applications with the AWS SDK for Ruby. The SDK makes it easy to call AWS services using idiomatic Ruby APIs.

How it works

The AWS SDK for Ruby simplifies the use of AWS services by providing a set of libraries that are consistent and familiar for Ruby developers. All AWS SDKs support API lifecycle considerations such as credential management, retries, data marshaling, and serialization.

The SDK helps take the complexity out of coding by providing Ruby classes for AWS services including Amazon S3, Amazon EC2, DynamoDB, and more. The SDK is available as semantically-versioned, individual service gems through RubyGems.

Key features

Familiar Ruby experience

The AWS SDK for Ruby simplifies the use of AWS services by providing a set of libraries that are consistent and familiar for Ruby developers. All AWS SDKs support API lifecycle considerations such as credential management, retries, data marshaling, and serialization.

Modularity

The AWS SDK for Ruby has a modular architecture with a separate gem for each service. This allows you to minimize your compile times and binary sizes by only compiling code you actually use.

Rich features

AWS SDK for Ruby supports rich client features such as: response pagination, waiters that poll resources for pre-defined status changes, an EC2 metadata client, services with bi-directional event streaming, and more.

Supported Gems

All AWS SDK for Ruby gems are available at RubyGems. We recommend only installing the gems for the AWS services you use. The complete list of gems is available on GitHub.

Also consider the following supported gems for your applications:

  • aws-sdk-rails: Provides Ruby on Rails integrations such as SQS Active Job and SES Action Mailers.
  • aws-record: Provides a data mapping abstraction for Amazon DynamoDB.
  • aws-sessionstore-dynamodb: Provides a session storage of rack applications using DynamoDB.
  • aws-crt: Provides AWS Common Runtime (CRT) bindings.
  • hearth: Provides core functionality for generic code-generated Ruby SDKs using Smith

Smithy Ruby

Are you interested in a generic, code-generated SDK to communicate with your Rails website?

Check out the RubyKaigi 2024 presentation that showcases Smithy Ruby, which is an implementation of Smithy that generates a Ruby SDK using a Smithy model. Smithy is a protocol-agnostic language for defining services and SDKs.