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 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.","id":"collection-text-media#overview-2-blockchain-what-is-sdk-ruby","heading":"How it works"},"metadata":{"tags":[]}}]},"metadata":{"auth":{},"pagination":{"empty":false,"present":true},"testAttributes":{}},"context":{"page":{"locale":null,"site":null,"pageUrl":"https://aws.amazon.com/sdk-for-ruby/","targetName":null,"pageSlotId":null,"organizationId":null,"availableLocales":null},"environment":{"stage":"prod","region":"us-east-1"},"sdkVersion":"1.0.115"},"refMap":{"manifest.js":"47864e0370","rt-text-media-collection.js":"07ca5af217","rt-text-media-collection.rtl.css":"6e99be202e","rt-text-media-collection.css":"a2f6e3274d","rt-text-media-collection.css.js":"364e78221d","rt-text-media-collection.rtl.css.js":"6e41cc5eeb"},"settings":{"templateMappings":{"hyperlinkText":"hyperlinkText","hyperlinkUrl":"hyperlinkUrl","heading":"heading","mediaAltText":"mediaAltText","mediaPosition":"mediaPosition","mediaUrl":"mediaUrl","subheader":"subheader","bodyContent":"bodyContent","videoOverlayTitle":"videoOverlayTitle","videoThumbnailUrl":"videoThumbnailUrl","videoPlayButtonText":"videoPlayButtonText","dark":"dark"}}}
How it works
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.
Text-Long","metadata":{}}]}},{"fields":{"itemHeading":"Familiar Ruby experience","id":"awt-content-topics#awt-content-topics-sdk-ruby-1","itemCustomSortOrder":"1","itemLongLoc":"
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."},"metadata":{"tags":[{"id":"awt-content-topics#pattern#text-long","name":"Text-Long","namespaceId":"awt-content-topics#pattern","description":"
Text-Long","metadata":{}}]}},{"fields":{"itemHeading":"Modularity","id":"awt-content-topics#awt-content-topics-sdk-ruby-2","itemCustomSortOrder":"2","itemLongLoc":"
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."},"metadata":{"tags":[{"id":"awt-content-topics#pattern#text-long","name":"Text-Long","namespaceId":"awt-content-topics#pattern","description":"
Text-Long","metadata":{}}]}},{"fields":{"itemHeading":"Rich features","id":"awt-content-topics#awt-content-topics-sdk-ruby-3","itemCustomSortOrder":"3","itemLongLoc":"
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."},"metadata":{"tags":[{"id":"awt-content-topics#pattern#text-long","name":"Text-Long","namespaceId":"awt-content-topics#pattern","description":"
Text-Long","metadata":{}}]}}]},"metadata":{"auth":{},"pagination":{"empty":false,"present":true},"testAttributes":{}},"context":{"page":{"locale":null,"site":null,"pageUrl":"https://aws.amazon.com/sdk-for-ruby/","targetName":null,"pageSlotId":null,"organizationId":null,"availableLocales":null},"environment":{"stage":"prod","region":"us-east-1"},"sdkVersion":"1.0.115"},"refMap":{"manifest.js":"fabb5bcc5a","rt-text-grid-collection.js":"11e88e5a95","rt-text-grid-collection.css":"66138b4aed","rt-text-grid-collection.rtl.css":"70f3753f3d","rt-text-grid-collection.css.js":"a29f8b6d06","rt-text-grid-collection.rtl.css.js":"7c7acbf508"},"settings":{"templateMappings":{"patternHeading":"patternHeading","patternSubheading":"patternSubheading","patternDark":"patternBoolean2","patternHyperlinkText":"patternCTALabel","patternHyperlinkUrl":"patternCTAURL","heading":"itemHeading","dark":"itemBoolean","body":"itemLongLoc","hyperlinkText":"itemCTALabel","hyperlinkUrl":"itemCTAURL","patternColumns":"patternNumber1"}}}
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.
Resources
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.