CINXE.COM
Ruby | Tutorials, APIs, SDKs, Docs | AWS Developer Center
<!doctype html> <html class="no-js aws-lng-en_US aws-with-target" lang="en-US" data-static-assets="https://a0.awsstatic.com" data-js-version="1.0.592" data-css-version="1.0.506"> <head> <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: https://a0.awsstatic.com https://prod.us-east-1.ui.gcr-chat.marketing.aws.dev; base-uri 'none'; connect-src 'self' https://*.analytics.console.aws.a2z.com https://*.harmony.a2z.com https://*.marketing.aws.dev https://*.panorama.console.api.aws https://*.prod.chc-features.uxplatform.aws.dev https://112-tzm-766.mktoresp.com https://112-tzm-766.mktoutil.com https://a0.awsstatic.com https://a0.p.awsstatic.com https://a1.awsstatic.com https://amazonwebservices.d2.sc.omtrdc.net https://amazonwebservicesinc.tt.omtrdc.net https://api-v2.builderprofile.aws.dev https://api.regional-table.region-services.aws.a2z.com https://api.us-west-2.prod.pricing.aws.a2z.com https://auth.aws.amazon.com https://aws.amazon.com https://aws.amazon.com/p/sf/ https://aws.demdex.net https://b0.p.awsstatic.com https://c0.b0.p.awsstatic.com https://calculator.aws https://chat.us-east-1.prod.mrc-sunrise.marketing.aws.dev https://chatbot-api.us-east-1.prod.mrc-sunrise.marketing.aws.dev https://chatbot-stream-api.us-east-1.prod.mrc-sunrise.marketing.aws.dev https://cm.everesttech.net https://csml-plc-prod.us-west-2.api.aws/plc/csml/logging https://d0.awsstatic.com https://d1.awsstatic.com https://d1fgizr415o1r6.cloudfront.net https://d2c.aws.amazon.com https://d3borx6sfvnesb.cloudfront.net https://dftu77xade0tc.cloudfront.net https://dpm.demdex.net https://edge.adobedc.net https://fls-na.amazon.com https://i18n-string.us-west-2.prod.pricing.aws.a2z.com https://iad.staging.prod.tv.awsstatic.com https://infra-api.us-east-1.prod.mrc-sunrise.marketing.aws.dev https://ingestion.aperture-public-api.feedback.console.aws.dev https://livechat-api.us-east-1.prod.mrc-sunrise.marketing.aws.dev https://pricing-table.us-west-2.prod.site.p.awsstatic.com https://prod-us-west-2.csp-report.marketing.aws.dev https://prod.log.shortbread.aws.dev https://prod.tools.shortbread.aws.dev https://prod.us-east-1.api.gcr-chat.marketing.aws.dev https://prod.us-east-1.rest-bot.gcr-chat.marketing.aws.dev https://prod.us-east-1.ui.gcr-chat.marketing.aws.dev https://prod2.clientlogger.cn-northwest-1.marketplace.aws.a2z.org.cn https://public.lotus.awt.aws.a2z.com https://s0.awsstatic.com https://s3.amazonaws.com/aws-messaging-pricing-information/ https://s3.amazonaws.com/public-pricing-agc/ https://spot-bid-advisor.s3.amazonaws.com https://t0.m.awsstatic.com https://target.aws.amazon.com https://token.us-west-2.prod.site.p.awsstatic.com https://tv.awsstatic.com https://view-stage.us-west-2.prod.pricing.aws.a2z.com https://view-staging.us-east-1.prod.plc1-prod.pricing.aws.a2z.com https://vs.aws.amazon.com https://webchat-aws.clink.cn https://wrp.aws.amazon.com https://www.youtube-nocookie.com https://xcxrmtkxx5.execute-api.us-east-1.amazonaws.com/prod/ wss://*.transport.connect.us-east-1.amazonaws.com wss://prod.us-east-1.wss-bot.gcr-chat.marketing.aws.dev wss://webchat-aws.clink.cn; font-src 'self' data: https://a0.awsstatic.com https://f0.awsstatic.com https://fonts.gstatic.com https://prod.us-east-1.ui.gcr-chat.marketing.aws.dev; frame-src 'self' https://*.widget.console.aws.amazon.com https://aws.demdex.net https://c0.b0.p.awsstatic.com https://calculator.aws https://conversational-experience-worker.widget.console.aws.amazon.com/lotus/isolatedIFrame https://dpm.demdex.net https://pricing-table.us-west-2.prod.site.p.awsstatic.com https://token.us-west-2.prod.site.p.awsstatic.com https://www.youtube-nocookie.com; img-src 'self' blob: data: https://*.vidyard.com https://*.ytimg.com https://a0.awsstatic.com https://amazonwebservices.d2.sc.omtrdc.net https://avatars.builderprofile.aws.dev https://aws-clink2-resource.s3.cn-northwest-1.amazonaws.com.cn https://aws-quickstart.s3.amazonaws.com https://aws.amazon.com https://aws.demdex.net https://awsmedia.s3.amazonaws.com https://chat.us-east-1.prod.mrc-sunrise.marketing.aws.dev https://cm.everesttech.net https://d1.awsstatic.com https://d1d1et6laiqoh9.cloudfront.net https://d2908q01vomqb2.cloudfront.net https://d2c.aws.amazon.com https://d2cpw7vd6a2efr.cloudfront.net https://d36cz9buwru1tt.cloudfront.net https://d7umqicpi7263.cloudfront.net https://docs.aws.amazon.com https://dpm.demdex.net https://fls-na.amazon.com https://google.ca https://google.co.in https://google.co.jp https://google.co.th https://google.co.uk https://google.com https://google.com.ar https://google.com.au https://google.com.br https://google.com.hk https://google.com.mx https://google.com.tr https://google.com.tw https://google.de https://google.es https://google.fr https://google.it https://google.nl https://google.pl https://google.ru https://iad.staging.prod.tv.awsstatic.com https://img.youtube.com https://marketingplatform.google.com https://media.amazonwebservices.com https://p.adsymptotic.com https://pages.awscloud.com https://prod.us-east-1.ui.gcr-chat.marketing.aws.dev https://s3.amazonaws.com/aws-quickstart/ https://ssl-static.libsyn.com https://static-cdn.jtvnw.net https://tv.awsstatic.com https://webchat-aws.clink.cn https://www.google.com https://www.linkedin.com https://yt3.ggpht.com; media-src 'self' blob: https://*.libsyn.com https://a0.awsstatic.com https://anchor.fm https://awsmedia.s3.amazonaws.com https://awspodcastsiberiaent.s3.eu-west-3.amazonaws.com https://chat.us-east-1.prod.mrc-sunrise.marketing.aws.dev https://chtbl.com https://content.production.cdn.art19.com https://d1.awsstatic.com https://d1hemuljm71t2j.cloudfront.net https://d1le29qyzha1u4.cloudfront.net https://d1oqpvwii7b6rh.cloudfront.net https://d1vo51ubqkiilx.cloudfront.net https://d1yyh5dhdgifnx.cloudfront.net https://d2908q01vomqb2.cloudfront.net https://d2a6igt6jhaluh.cloudfront.net https://d3ctxlq1ktw2nl.cloudfront.net https://d3h2ozso0dirfl.cloudfront.net https://dgen8gghn3u86.cloudfront.net https://dk261l6wntthl.cloudfront.net https://download.stormacq.com/aws/podcast/ https://dts.podtrac.com https://iad.staging.prod.tv.awsstatic.com https://media.amazonwebservices.com https://mktg-apac.s3-ap-southeast-1.amazonaws.com https://rss.art19.com https://s3-ap-northeast-1.amazonaws.com/aws-china-media/ https://tv.awsstatic.com https://www.buzzsprout.com; object-src 'none'; script-src 'sha256-jgWvRxM2lGx+QwPvQC8hRYx4ahuhO3oN0sho2suGmxc=' 'nonce-KD7AxiSvEIW1F/tn/LV5add0yHrNoBE5wWvbspBdT9E=' 'self' blob: https://*.cdn.console.awsstatic.com/ https://*.cdn.uis.awsstatic.com/ https://a.b.cdn.console.awsstatic.com https://a0.awsstatic.com https://amazonwebservicesinc.tt.omtrdc.net https://cdn.builderprofile.aws.dev https://chat.us-east-1.prod.mrc-sunrise.marketing.aws.dev https://d2c.aws.amazon.com https://googleads.g.doubleclick.net https://loader.us-east-1.prod.mrc-sunrise.marketing.aws.dev https://prod.us-east-1.ui.gcr-chat.marketing.aws.dev https://spot-price.s3.amazonaws.com https://static.doubleclick.net https://t0.m.awsstatic.com https://token.us-west-2.prod.site.p.awsstatic.com https://website.spot.ec2.aws.a2z.com https://www.google.com https://www.gstatic.com https://www.youtube.com/iframe_api https://www.youtube.com/s/player/; style-src 'self' 'unsafe-inline' https://a0.awsstatic.com https://prod.us-east-1.ui.gcr-chat.marketing.aws.dev https://t0.m.awsstatic.com https://token.us-west-2.prod.site.p.awsstatic.com" data-report-uri="https://prod-us-west-2.csp-report.marketing.aws.dev/submit"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="preconnect" href="https://a0.awsstatic.com" crossorigin="anonymous"> <link rel="dns-prefetch" href="https://a0.awsstatic.com"> <link rel="dns-prefetch" href="https://d1.awsstatic.com"> <link rel="dns-prefetch" href="https://amazonwebservicesinc.tt.omtrdc.net"> <link rel="dns-prefetch" href="https://s0.awsstatic.com"> <link rel="dns-prefetch" href="https://t0.m.awsstatic.com"> <title>Ruby | Tutorials, APIs, SDKs, Docs | AWS Developer Center</title> <meta name="description" content="Are you a seasoned AWS developer? Just getting started with AWS? Regardless, if your favorite programming language is Ruby, then get started here with 10-minute tutorials, technical blog posts, and resources for projects, libraries, and more. "> <meta name="robots" content="index, follow"> <meta property="twitter:title" content="Ruby | Tutorials, APIs, SDKs, Docs | AWS Developer Center"> <meta property="twitter:description" content="Are you a seasoned AWS developer? Just getting started with AWS? Regardless, if your favorite programming language is Ruby, then get started here with 10-minute tutorials, technical blog posts, and resources for projects, libraries, and more. "> <meta property="og:title" content="Ruby | Tutorials, APIs, SDKs, Docs | AWS Developer Center"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <link rel="canonical" href="https://aws.amazon.com/developer/language/ruby/"> <link rel="alternate" href="https://aws.amazon.com/de/developer/language/ruby/" hreflang="de-de"> <link rel="alternate" href="https://aws.amazon.com/es/developer/language/ruby/" hreflang="es-es"> <link rel="alternate" href="https://aws.amazon.com/fr/developer/language/ruby/" hreflang="fr-fr"> <link rel="alternate" href="https://aws.amazon.com/it/developer/language/ruby/" hreflang="it-it"> <link rel="alternate" href="https://aws.amazon.com/jp/developer/language/ruby/" hreflang="ja-jp"> <link rel="alternate" href="https://aws.amazon.com/ko/developer/language/ruby/" hreflang="ko-kr"> <link rel="alternate" href="https://aws.amazon.com/pt/developer/language/ruby/" hreflang="pt-br"> <link rel="alternate" href="https://aws.amazon.com/ru/developer/language/ruby/" hreflang="ru-ru"> <link rel="alternate" href="https://aws.amazon.com/cn/developer/language/ruby/" hreflang="zh-cn"> <link rel="alternate" href="https://aws.amazon.com/tw/developer/language/ruby/" hreflang="zh-tw"> <script src="https://a0.awsstatic.com/libra/1.0.592/csp/csp-report.js" async="true"></script> <meta property="twitter:card" content="summary"> <meta property="twitter:image" content="https://a0.awsstatic.com/libra-css/images/logos/aws_logo_smile_179x109.png"> <meta property="twitter:site" content="@awscloud"> <meta property="fb:pages" content="153063591397681"> <meta name="baidu-site-verification" content="pjxJUyWxae"> <meta name="360-site-verification" content="cbe5c6f0249e273e71fffd6d6580ce09"> <meta name="shenma-site-verification" content="79b94bb338f010af876605819a332e19_1617844070"> <meta name="sogou_site_verification" content="Ow8cCy3Hgq"> <link rel="icon" type="image/ico" href="https://a0.awsstatic.com/libra-css/images/site/fav/favicon.ico"> <link rel="shortcut icon" type="image/ico" href="https://a0.awsstatic.com/libra-css/images/site/fav/favicon.ico"> <link rel="apple-touch-icon" sizes="57x57" href="https://a0.awsstatic.com/libra-css/images/site/touch-icon-iphone-114-smile.png"> <link rel="apple-touch-icon" sizes="72x72" href="https://a0.awsstatic.com/libra-css/images/site/touch-icon-ipad-144-smile.png"> <link rel="apple-touch-icon" sizes="114x114" href="https://a0.awsstatic.com/libra-css/images/site/touch-icon-iphone-114-smile.png"> <link rel="apple-touch-icon" sizes="144x144" href="https://a0.awsstatic.com/libra-css/images/site/touch-icon-ipad-144-smile.png"> <meta property="og:type" content="company"> <meta property="og:url" content="https://aws.amazon.com/developer/language/ruby/"> <meta property="og:image" content="https://a0.awsstatic.com/libra-css/images/logos/aws_logo_smile_1200x630.png"> <meta property="og:site_name" content="Amazon Web Services, Inc."> <meta name="facebook-domain-verification" content="ucogvbvio3zpukhjxw4pcprci7qylr"> <meta name="google-site-verification" content="XHghG81ulgiW-3EylGcF48sG28tBW5EH0bNUhgo_DrU"> <meta name="msvalidate.01" content="6F92E52A288E266E30C2797ECB5FCCF3"> <link rel="stylesheet" href="https://a0.awsstatic.com/libra-css/css/1.0.506/style-awsm-base.css"> <link rel="stylesheet" href="https://a0.awsstatic.com/libra-css/css/1.0.506/style-awsm-components.css"> <script type="esms-options">{"noLoadEventRetriggers": true, "nonce":"KD7AxiSvEIW1F/tn/LV5add0yHrNoBE5wWvbspBdT9E="}</script> <script async src="https://a0.awsstatic.com/eb-csr/1.0.116/polyfills/es-module-shims/es-module-shims.js"></script> <script type="importmap">{"imports":{"react":"https://a0.awsstatic.com/eb-csr/1.0.116/react/react.js","react/jsx-runtime":"https://a0.awsstatic.com/eb-csr/1.0.116/react/jsx-runtime.js","react-dom":"https://a0.awsstatic.com/eb-csr/1.0.116/react/react-dom.js","react-dom/server":"https://a0.awsstatic.com/eb-csr/1.0.116/react/server-browser.js","react-dom-server-browser":"https://a0.awsstatic.com/eb-csr/1.0.116/react/react-dom-server-browser.js","sanitize-html":"https://a0.awsstatic.com/eb-csr/1.0.116/sanitize-html/index.js","video.js":"https://a0.awsstatic.com/eb-csr/1.0.116/videojs/video.js","videojs-event-tracking":"https://a0.awsstatic.com/eb-csr/1.0.116/videojs/videojs-event-tracking.js","videojs-hotkeys":"https://a0.awsstatic.com/eb-csr/1.0.116/videojs/videojs-hotkeys.js"}}</script> <script type="application/json" id="aws-page-settings"> { "supportedLanguages": ["ar","cn","de","en","es","fr","id","it","jp","ko","pt","ru","th","tr","tw","vi"], "defaultLanguage": "en", "logDataSet": "LIVE:PROD", "logInstance": "PUB", "csdsEndpoint": "https://d2c.aws.amazon.com/", "framework": "v2", "g11nLibPath": "https://a0.awsstatic.com/g11n-lib/2.0.107", "i18nStringPath": "https://i18n-string.us-west-2.prod.pricing.aws.a2z.com", "libraCSSPath": "https://a0.awsstatic.com/libra-css/css/1.0.506", "libraCSSImagePath": "https://a0.awsstatic.com/libra-css/images", "isLoggingEnabled": true, "currentLanguage": "en-US", "currentStage": "Prod", "isBJS": false, "isMarketplace": false, "isRTL": false, "requireBaseUrl": "https://a0.awsstatic.com", "requirePackages":[ { "name": "libra", "location": "libra/1.0.592" } ], "requirePaths": { "directories": "https://a0.awsstatic.com/libra/1.0.592/directories", "libra-cardsui": "https://a0.awsstatic.com/libra/1.0.592/libra-cardsui", "librastandardlib": "https://a0.awsstatic.com/libra/1.0.592/librastandardlib", "aws-blog": "https://a0.awsstatic.com/aws-blog/1.0.80/js", "plc": "https://a0.awsstatic.com/plc/js/1.0.138/plc", "scripts": "libra/1.0.592/v1-polyfills/scripts", "libra-search": "https://a0.awsstatic.com/libra-search/1.0.19/js", "pricing-calculator": "https://a0.awsstatic.com/pricing-calculator/js/1.0.2", "pricing-savings-plan": "https://a0.awsstatic.com/pricing-savings-plan/js/1.0.23" }, "staticAssetPath": "https://a0.awsstatic.com", "jsAssetPath": "https://a0.awsstatic.com/libra/1.0.592", "awstvVideoAssetOrigin": "https://tv.awsstatic.com", "awstvVideoAPIOrigin": "//aws.amazon.com" } </script> <script src="https://a0.awsstatic.com/libra/1.0.592/libra-head.js"></script> <script src="https://a0.awsstatic.com/s_code/js/3.0/awshome_s_code.js"></script> <script src="https://d2c.aws.amazon.com/client/loader/v1/d2c-load.js"></script> <script async src="https://a0.awsstatic.com/da/js/1.0.51/aws-da.js"></script> <link rel="stylesheet" href="https://a0.awsstatic.com/eb-csr/1.0.116/orchestrate.css"> <script type="module" async="true" src="https://a0.awsstatic.com/eb-csr/1.0.116/orchestrate.js"></script> <script type="application/json" id="target-mediator">{"pageLanguage":"en","supportedLanguages":["ar","cn","de","en","es","fr","id","it","jp","ko","pt","ru","th","tr","tw","vi"],"offerOrigin":"https://s0.awsstatic.com"}</script> <script data-js-script="target-mediator" src="https://a0.awsstatic.com/target/1.0.123/aws-target-mediator.js" async="true"></script> </head> <body class="awsm"> <script id="awsc-panorama-bundle" type="text/javascript" src="https://prod.pa.cdn.uis.awsstatic.com/panorama-nav-init.js" data-config="{"appEntity":"aws-marketing","region":"us-west-1","service":"global-site","trackerConstants":{"cookieDomain":"aws.amazon.com"}}" async="true"></script> <a id="aws-page-skip-to-main" class="lb-sr-only lb-sr-only-focusable lb-bold lb-skip-el" href="#aws-page-content-main"> Skip to main content</a> <header id="aws-page-header" class="awsm m-page-header lb-with-mobile-subrow" role="banner"> <div id="m-nav" class="m-nav" role="navigation" aria-label="Global Navigation"> <div class="m-nav-header lb-clearfix" data-menu-url="https://s0.awsstatic.com/en_US/nav/v3/panel-content/desktop/index.html"> <div class="m-nav-logo"> <div class="lb-bg-logo aws-amazon_web_services_smile-header-desktop-en"> <a href="https://aws.amazon.com/?nc2=h_lg"><span>Click here to return to Amazon Web Services homepage</span></a> </div> </div> <nav class="m-nav-secondary-links" style="min-width: 620px" aria-label="Secondary Global Navigation"> <a href="/about-aws/?nc2=h_header">About AWS</a> <a href="/contact-us/?nc2=h_header">Contact Us</a> <a class="lb-txt-none lb-tiny-iblock lb-txt-13 lb-txt lb-has-trigger-indicator" href="#" data-mbox-ignore="true" data-lb-popover-trigger="popover-support-selector" role="button" aria-expanded="false" aria-label="Explore support options" id="popover-popover-support-selector-trigger" aria-controls="popover-support-selector" aria-haspopup="true"> Support <svg viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-chevron-down lb-trigger-mount"> <path d="M1 4.5L8 11.5L15 4.5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> </a> <a id="m-nav-language-selector" class="lb-tiny-iblock lb-txt lb-has-trigger-indicator" href="#" data-lb-popover-trigger="popover-language-selector" data-language="en" aria-label="Set site language" role="button" aria-controls="popover-language-selector" aria-expanded="false" aria-haspopup="true"> English <svg viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-chevron-down lb-trigger-mount"> <path d="M1 4.5L8 11.5L15 4.5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> </a> <a class="lb-tiny-iblock lb-txt lb-has-trigger-indicator" href="#" data-lb-popover-trigger="popover-my-account" aria-label="Access account options" role="button" aria-controls="popover-my-account" aria-expanded="false" aria-haspopup="true"> My Account <svg viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-chevron-down lb-trigger-mount"> <path d="M1 4.5L8 11.5L15 4.5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> </a> <div class="m-nav-cta-btn"> <div class="lb-mbox js-mbox" data-lb-comp="mbox" data-lb-comp-ignore="true" data-mbox="en_header_nav_cta"> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="nav-buttons" data-da-so-version="sign-up-sign-in-all" data-da-so-url="nav"> <div class="data-attr-wrapper lb-tiny-iblock lb-none-pad lb-box" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="nav-buttons" data-da-so-version="prospect-sign-in" data-da-so-url="all"> <a class="lb-txt-none lb-tiny-iblock lb-txt-13 lb-txt" style="padding-top:8px; padding-right:13px;" href="https://console.aws.amazon.com/console/home?nc2=h_ct&src=header-signin"> Sign In</a> </div> <div class="data-attr-wrapper lb-tiny-iblock lb-none-v-margin lb-btn" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="nav-buttons" data-da-so-version="prospect-signup" data-da-so-url="all"> <a class="lb-btn-p-primary" href="https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct&src=header_signup" data-trk-params="{"trkOverrideWithQs":true}" role="button"> <span> Create an AWS Account</span> </a> </div> </div> </div> <div class="lb-mbox js-mbox" data-lb-comp="mbox" data-lb-comp-ignore="true" data-mbox="en_header_desktop_nav_cta_test"> </div> </div> </nav> <div class="m-nav-primary-group"> <nav class="m-nav-primary-links" aria-label="Primary Global Navigation"> <i class="m-nav-angle-left-icon" aria-hidden="true"></i> <ul> <li aria-expanded="false"><span><a href="https://reinvent.awsevents.com/?nc=nav-l1&trk=0e487c8f-c3e3-4b03-9550-a51ebdba56b6" class="m-nav-featured" data-panel="m-nav-panel-reinvent24">re:Invent</a></span></li> <li aria-expanded="false"><span><a href="/products/?nc2=h_ql_prod" data-panel="m-nav-panel-products">Products</a></span></li> <li aria-expanded="false"><span><a href="/solutions/?nc2=h_ql_sol" data-panel="m-nav-panel-solutions">Solutions</a></span></li> <li aria-expanded="false"><span><a href="/pricing/?nc2=h_ql_pr" data-panel="m-nav-panel-pricing">Pricing</a></span></li> <li aria-expanded="false"><span><a href="https://aws.amazon.com/documentation-overview/?nc2=h_ql_doc_do" data-panel="m-nav-panel-documentation">Documentation</a></span></li> <li aria-expanded="false"><span><a href="/getting-started/?nc2=h_ql_le" data-panel="m-nav-panel-learn">Learn</a></span></li> <li aria-expanded="false"><span><a href="/partners/?nc2=h_ql_pn" data-panel="m-nav-panel-partner">Partner Network</a></span></li> <li aria-expanded="false"><span><a href="https://aws.amazon.com/marketplace/?nc2=h_ql_mp" data-panel="m-nav-panel-marketplace">AWS Marketplace</a></span></li> <li aria-expanded="false"><span><a href="/customer-enablement/?nc2=h_ql_ce" data-panel="m-nav-panel-customer">Customer Enablement</a></span></li> <li aria-expanded="false"><span><a href="/events/?nc2=h_ql_ev" data-panel="m-nav-panel-events">Events</a></span></li> <li aria-expanded="false"><span><a href="/contact-us/?nc2=h_ql_exm" data-panel="m-nav-panel-more">Explore More </a></span></li> </ul> <div class="m-nav-icon-group"> <i class="m-nav-angle-right-icon" aria-hidden="true"></i> <button class="m-nav-search-icon" tabindex="0" aria-expanded="false" aria-label="Search"> <svg viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-magnify"> <path d="M10.5 10.5L14.5 14.5" stroke-width="2" stroke-linejoin="round" /> <path d="M7 12.5C10.0376 12.5 12.5 10.0376 12.5 7C12.5 3.96243 10.0376 1.5 7 1.5C3.96243 1.5 1.5 3.96243 1.5 7C1.5 10.0376 3.96243 12.5 7 12.5Z" stroke-width="2" stroke-linejoin="round" /> </svg> </button> </div> </nav> <div id="m-nav-desktop-search" class="m-nav-search"> <form action="https://aws.amazon.com/search/" role="search"> <div class="m-typeahead" data-directory-id="typeahead-suggestions" data-lb-comp="typeahead"> <input class="m-nav-search-field" placeholder="Search" autocomplete="off" spellcheck="false" dir="auto" type="text" name="searchQuery"> </div> </form> <i class="m-nav-close-icon" role="button" aria-label="Close"></i> </div> </div> </div> <div class="lb-popover lb-popover-aui lb-popover-tiny" data-lb-comp="popover" data-id="popover-language-selector" id="popover-language-selector" aria-modal="false" aria-labelledby="popover-popover-language-selector-trigger" data-action="hover" data-position="top"> <a class="lb-popover-close" role="button" tabindex="0" aria-label="Close" title="Close"> <span class="lb-sr-only">Close</span> </a> <div class="lb-grid lb-row lb-row-max-large lb-snap"> <div class="lb-col lb-tiny-24 lb-mid-12"> <ul class="lb-txt-none lb-ul lb-list-style-none lb-tiny-ul-block"> <li lang="ar-SA" translate="no" data-language="ar"><a href="https://aws.amazon.com/ar/?nc1=h_ls">عربي</a></li> <li lang="id-ID" translate="no" data-language="id"><a href="https://aws.amazon.com/id/?nc1=h_ls">Bahasa Indonesia</a></li> <li lang="de-DE" translate="no" data-language="de"><a href="https://aws.amazon.com/de/?nc1=h_ls">Deutsch</a></li> <li lang="en-US" translate="no" data-language="en"><a href="https://aws.amazon.com/?nc1=h_ls">English</a></li> <li lang="es-ES" translate="no" data-language="es"><a href="https://aws.amazon.com/es/?nc1=h_ls">Español</a></li> <li lang="fr-FR" translate="no" data-language="fr"><a href="https://aws.amazon.com/fr/?nc1=h_ls">Français</a></li> <li lang="it-IT" translate="no" data-language="it"><a href="https://aws.amazon.com/it/?nc1=h_ls">Italiano</a></li> <li lang="pt-BR" translate="no" data-language="pt"><a href="https://aws.amazon.com/pt/?nc1=h_ls">Português</a></li> </ul> </div> <div class="lb-col lb-tiny-24 lb-mid-12"> <ul class="lb-txt-none lb-ul lb-list-style-none lb-tiny-ul-block"> <li lang="vi-VN" translate="no" data-language="vi"><a href="https://aws.amazon.com/vi/?nc1=f_ls">Tiếng Việt</a></li> <li lang="tr-TR" translate="no" data-language="tr"><a href="https://aws.amazon.com/tr/?nc1=h_ls">Türkçe</a></li> <li lang="ru-RU" translate="no" data-language="ru"><a href="https://aws.amazon.com/ru/?nc1=h_ls">Ρусский</a></li> <li lang="th-TH" translate="no" data-language="th"><a href="https://aws.amazon.com/th/?nc1=f_ls">ไทย</a></li> <li lang="ja-JP" translate="no" data-language="jp"><a href="https://aws.amazon.com/jp/?nc1=h_ls">日本語</a></li> <li lang="ko-KR" translate="no" data-language="ko"><a href="https://aws.amazon.com/ko/?nc1=h_ls">한국어</a></li> <li lang="zh-CN" translate="no" data-language="cn"><a href="https://aws.amazon.com/cn/?nc1=h_ls">中文 (简体)</a></li> <li lang="zh-TW" translate="no" data-language="tw"><a href="https://aws.amazon.com/tw/?nc1=h_ls">中文 (繁體)</a></li> </ul> </div> </div> </div> <div class="lb-popover lb-popover-aui lb-popover-tiny" data-lb-comp="popover" data-id="popover-my-account" id="popover-my-account" aria-modal="false" aria-labelledby="popover-popover-my-account-trigger" data-action="hover" data-position="top"> <a class="lb-popover-close" role="button" tabindex="0" aria-label="Close" title="Close"> <span class="lb-sr-only">Close</span> </a> <ul class="lb-txt-none lb-ul lb-list-style-none lb-tiny-ul-block"> <li class="m-no-auth" data-myaws-auth-only="true"><a href="/profile/?nc2=h_m_mc">My Profile</a></li> <li class="m-no-auth" data-myaws-auth-only="true"><a href="https://auth.aws.amazon.com/sign-out/?nc2=h_m_mc">Sign out of AWS Builder ID</a></li> <li><a href="https://console.aws.amazon.com/?nc2=h_m_mc">AWS Management Console</a></li> <li><a href="https://console.aws.amazon.com/billing/home#/account?nc2=h_m_ma">Account Settings</a></li> <li><a href="https://console.aws.amazon.com/billing/home?nc2=h_m_bc">Billing & Cost Management</a></li> <li><a href="https://console.aws.amazon.com/iam/home?nc2=h_m_sc#security_credential">Security Credentials</a></li> <li><a href="https://phd.aws.amazon.com/?nc2=h_m_sc">AWS Personal Health Dashboard</a></li> </ul> </div> <div class="lb-popover lb-popover-aui lb-popover-tiny" data-lb-comp="popover" data-id="popover-support-selector" id="popover-support-selector" aria-modal="false" aria-labelledby="popover-popover-support-selector-trigger" data-action="hover" data-position="top"> <a class="lb-popover-close" role="button" tabindex="0" aria-label="Close" title="Close"> <span class="lb-sr-only">Close</span> </a> <ul class="lb-txt-none lb-ul lb-list-style-none lb-tiny-ul-block"> <li><a href="https://console.aws.amazon.com/support/home/?nc2=h_ql_cu">Support Center</a></li> <li><a href="https://iq.aws.amazon.com/?utm=mkt.nav">Expert Help</a></li> <li><a href="https://repost.aws/knowledge-center/?nc2=h_m_ma">Knowledge Center</a></li> <li><a href="/premiumsupport/?nc2=h_m_bc">AWS Support Overview</a></li> <li><a href="https://repost.aws/">AWS re:Post</a></li> </ul> </div> <script type="text/x-handlebars-template" data-hbs-template-path="nav-desktop/suggestions" data-hbs-context="{"pricingText":"Pricing","documentationText":"Documentation","calculatorText":"Calculator"}"></script> <script type="text/x-handlebars-template" data-hbs-template-path="nav-desktop/products-head" data-hbs-context="{"productsText":"Products"}"></script> <script type="text/x-handlebars-template" data-hbs-template-path="nav-desktop/keypages-head" data-hbs-context="{"relatedPagesText":"Related Pages"}"></script> <script type="text/x-handlebars-template" data-hbs-template-path="nav-desktop/tutorials-head" data-hbs-context="{"tutorialsText":"Tutorials"}"></script> <script type="text/x-handlebars-template" data-hbs-template-path="nav-desktop/blogs-head" data-hbs-context="{"blogsText":"Blogs"}"></script> <script type="text/x-handlebars-template" data-hbs-template-path="nav-desktop/see-all" data-hbs-context="{"resultsText":"See more results for"}"></script> </div> <div id="m-nav-mobile" class="m-nav-mobile" role="navigation" aria-label="Global Navigation for Mobile"> <div id="m-nav-mobile-header" class="m-nav-mobile-header m-nav-mobile-with-sub-row" data-menu-url="https://s0.awsstatic.com/en_US/nav/v3/panel-content/mobile/index.html"> <div class="lb-bg-logo aws-amazon_web_services_smile-header-mobile-en"> <a href="https://aws.amazon.com/?nc2=h_lg"><span>Click here to return to Amazon Web Services homepage</span></a> </div> <div class="m-nav-mobile-button-group"> <button class="m-nav-mobile-button icon-search" tabindex="0" aria-expanded="false" aria-label="Search"> <svg viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M10.5 10.5L14.5 14.5" stroke-width="2" stroke-linejoin="round" /> <path d="M7 12.5C10.0376 12.5 12.5 10.0376 12.5 7C12.5 3.96243 10.0376 1.5 7 1.5C3.96243 1.5 1.5 3.96243 1.5 7C1.5 10.0376 3.96243 12.5 7 12.5Z" stroke-width="2" stroke-linejoin="round" /> </svg> </button> <button class="m-nav-mobile-button icon-reorder" tabindex="0" aria-expanded="false" aria-label="Menu"> <svg viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15 3H1" stroke-width="2" stroke-linejoin="round" /> <path d="M15 8H1" stroke-width="2" stroke-linejoin="round" /> <path d="M15 13H1" stroke-width="2" stroke-linejoin="round" /> </svg> </button> <div class="lb-mbox js-mbox" data-lb-comp="mbox" data-lb-comp-ignore="true" data-mbox="en_header_mobile_nav_cta_test"> </div> </div> <div id="m-nav-mobile-sub-row" class="m-nav-mobile-sub-row"> <div class="data-attr-wrapper lb-btn" data-da-type="so" data-da-so-category="monitoring" data-da-so-language="en" data-da-so-name="global-mobile-sticky-cta-buttons" data-da-so-type="viewport" data-da-so-version="get-started-for-free-cta" data-da-so-url="all"> <a class="lb-btn-p-primary" href="https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_mobile" role="button"> <span> Get Started for Free</span> </a> </div> <div class="data-attr-wrapper lb-btn" data-da-type="so" data-da-so-category="monitoring" data-da-so-language="en" data-da-so-name="global-mobile-sticky-cta-buttons" data-da-so-type="viewport" data-da-so-version="contact-us"> <a class="lb-btn-p" href="https://aws.amazon.com/contact-us/?nc2=h_mobile" role="button"> <span> Contact Us</span> </a> </div> </div> </div> <div id="m-nav-mobile-search" class="m-nav-mobile-search"> <form action="https://aws.amazon.com/search" role="search"> <div class="m-typeahead"> <input class="m-nav-search-field" placeholder="Search" autocomplete="off" spellcheck="false" dir="auto" type="text" name="searchQuery"> </div> </form> </div> <nav id="m-nav-trimdown" aria-label="Condensed Global Navigation for Mobile"> <ul class="m-nav-mobile-menu-group"> <li> <a href="https://reinvent.awsevents.com/?nc=nav-m&trk=0e487c8f-c3e3-4b03-9550-a51ebdba56b6"> <span class="m-nav-link-title">re:Invent</span> </a> </li> <li> <a href="/products/?nc2=h_mo"> <span class="m-nav-link-title">Products</span> </a> </li> <li> <a href="/solutions/?nc2=h_mo"> <span class="m-nav-link-title">Solutions</span> </a> </li> <li> <a href="/pricing/?nc2=h_mo"> <span class="m-nav-link-title">Pricing</span> </a> </li> <li> <a href="/what-is-aws/?nc2=h_mo"> <span class="m-nav-link-title">Introduction to AWS</span> </a> </li> <li> <a href="/getting-started/?nc2=h_mo"> <span class="m-nav-link-title">Getting Started</span> </a> </li> <li> <a href="https://aws.amazon.com/documentation-overview/?nc2=h_mo"> <span class="m-nav-link-title">Documentation</span> </a> </li> <li> <a href="/training/?nc2=h_mo"> <span class="m-nav-link-title">Training and Certification</span> </a> </li> <li> <a href="/developer/?nc2=h_mo"> <span class="m-nav-link-title">Developer Center</span> </a> </li> <li> <a href="/solutions/case-studies/?nc2=h_mo"> <span class="m-nav-link-title">Customer Success</span> </a> </li> <li> <a href="/partners/?nc2=h_mo"> <span class="m-nav-link-title">Partner Network</span> </a> </li> <li> <a href="https://aws.amazon.com/marketplace/?nc2=h_mo"> <span class="m-nav-link-title">AWS Marketplace</span> </a> </li> <li> <a href="https://console.aws.amazon.com/support/home?nc2=h_ql_cu"> <span class="m-nav-link-title">Support</span> </a> </li> <li> <a href="https://repost.aws/"> <span class="m-nav-link-title">AWS re:Post</span> </a> </li> <li> <a href="https://console.aws.amazon.com/console/home"> <span class="m-nav-link-title">Log into Console</span> </a> </li> <li> <a href="/console/mobile/"> <span class="m-nav-link-title">Download the Mobile App</span> </a> </li> </ul> </nav> </div> <div class="data-attr-wrapper lb-sticky-subnav" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="mainnavbar" data-da-so-url="/developer" data-lb-comp="sticky-subnav" data-lb-page-path="/developer/language/ruby/"> <div class="lb-row lb-row-max-large lb-snap"> <div class="lb-tiny-24 lb-sticky-subnav-content"> <div class="lb-sticky-subnav-title"> <a class="lb-txt-none lb-txt" href="/developer/" data-trk-params="{"trkOverrideWithQs":true}"> Developer Center</a> </div> <div class="lb-sticky-subnav-links"> <a class="lb-txt-none lb-txt-14 lb-txt lb-has-trigger-indicator" href="#" data-mbox-ignore="true" data-lb-popover-trigger="learning" role="button" aria-expanded="false" aria-label="Learning options for Developers" id="popover-learning-trigger" aria-controls="learning" aria-haspopup="true" data-trk-params="{"trkOverrideWithQs":true}"> Learning <i class="icon-caret-down lb-trigger-mount"></i></a> <a class="lb-txt-none lb-txt-14 lb-txt lb-has-trigger-indicator" href="#" data-mbox-ignore="true" data-lb-popover-trigger="programming-languages" role="button" aria-expanded="false" aria-label="Programming Languages" id="popover-programming-languages-trigger" aria-controls="programming-languages" aria-haspopup="true" data-trk-params="{"trkOverrideWithQs":true}"> Programming Languages <i class="icon-caret-down lb-trigger-mount"></i></a> <a class="lb-txt-none lb-txt-14 lb-txt" href="/developer/events/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Events</a> <a class="lb-txt-none lb-txt-14 lb-txt" href="/developer/tools/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Tools</a> <a class="lb-txt-none lb-txt-14 lb-txt lb-has-trigger-indicator" href="#" data-mbox-ignore="true" data-lb-popover-trigger="community" role="button" aria-expanded="false" aria-label="community" id="popover-community-trigger" aria-controls="community" aria-haspopup="true" data-trk-params="{"trkOverrideWithQs":true}"> Community <i class="icon-caret-down lb-trigger-mount"></i></a> <a class="lb-txt-none lb-txt-14 lb-txt lb-has-trigger-indicator" href="#" data-mbox-ignore="true" data-lb-popover-trigger="resources" role="button" aria-expanded="false" aria-label="Access more resources" id="popover-resources-trigger" aria-controls="resources" aria-haspopup="true" data-trk-params="{"trkOverrideWithQs":true}"> More Resources <i class="icon-caret-down lb-trigger-mount"></i></a> </div> </div> </div> </div> <div class="lb-popover lb-popover-aui lb-popover-tiny" data-lb-comp="popover" data-id="learning" id="learning" aria-modal="false" aria-labelledby="popover-learning-trigger" data-action="hover" data-position="top"> <a class="lb-popover-close" role="button" tabindex="0" aria-label="Close" title="Close"> <span class="lb-sr-only">Close</span> </a> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="navbarlearning" data-da-so-url="/developer"> <a class="lb-txt-none lb-txt" href="/developer/learning/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Learn with AWS</a> <a class="lb-txt-none lb-txt" href="/developer/hands-on/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Tutorials</a> <a class="lb-txt-none lb-txt" href="/developer/code-examples/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> SDK Code Examples</a> <a class="lb-txt-none lb-txt" href="https://www.aws.training/" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}"> Training & Certification</a> <a class="lb-txt-none lb-txt" href="https://workshops.aws/" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}"> Workshops</a> </div> </div> <div class="lb-popover lb-popover-aui lb-popover-tiny" data-lb-comp="popover" data-id="programming-languages" id="programming-languages" aria-modal="false" aria-labelledby="popover-programming-languages-trigger" data-action="hover" data-position="top"> <a class="lb-popover-close" role="button" tabindex="0" aria-label="Close" title="Close"> <span class="lb-sr-only">Close</span> </a> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="navbarproglanguage" data-da-so-url="/developer"> <a class="lb-txt-none lb-txt" href="/developer/language/cpp/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> C++</a> <a class="lb-txt-none lb-txt" href="/developer/language/net/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> .NET</a> <a class="lb-txt-none lb-txt" href="/developer/language/go/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Go</a> <a class="lb-txt-none lb-txt" href="/developer/language/javascript/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> JavaScript</a> <a class="lb-txt-none lb-txt" href="/developer/language/java/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Java</a> <a class="lb-txt-none lb-txt" href="/developer/language/kotlin/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Kotlin</a> <a class="lb-txt-none lb-txt" href="/developer/language/php/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> PHP</a> <a class="lb-txt-none lb-txt" href="/developer/language/python/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Python</a> <a class="lb-txt-none lb-txt lb-current-page-link" href="/developer/language/ruby/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Ruby</a> <a class="lb-txt-none lb-txt" href="/developer/language/rust/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Rust</a> <a class="lb-txt-none lb-txt" href="/developer/language/swift/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Swift</a> </div> </div> <div class="lb-popover lb-popover-aui lb-popover-tiny" data-lb-comp="popover" data-id="community" id="community" aria-modal="false" aria-labelledby="popover-community-trigger" data-action="hover" data-position="top"> <a class="lb-popover-close" role="button" tabindex="0" aria-label="Close" title="Close"> <span class="lb-sr-only">Close</span> </a> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="navbarcommunity" data-da-so-url="/developer"> <a class="lb-txt-none lb-txt" href="https://community.aws/?ref=dc&id=dc_navbar" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}"> Community.aws</a> <a class="lb-txt-none lb-txt" href="/developer/community/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Discover Communities</a> <a class="lb-txt-none lb-txt" href="https://repost.aws/?trk=859f3c3f-c0fa-4b16-9fd5-8f05cf9273de" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}"> Expert Q&A on re:Post</a> <a class="lb-txt-none lb-txt" href="/developer/community/students/?intClick=dc_navbar" data-trk-params="{"trkOverrideWithQs":true}"> Student Hub</a> </div> </div> <div class="lb-popover lb-popover-aui lb-popover-tiny" data-lb-comp="popover" data-id="resources" id="resources" aria-modal="false" aria-labelledby="popover-resources-trigger" data-action="hover" data-position="top"> <a class="lb-popover-close" role="button" tabindex="0" aria-label="Close" title="Close"> <span class="lb-sr-only">Close</span> </a> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="navbarresources" data-da-so-url="/developer"> <a class="lb-txt-none lb-txt" href="/architecture/?pg=devctr" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}"> Architecture Center</a> <a class="lb-txt-none lb-txt" href="/builder-library/?pg=devctr" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}"> Builders Library</a> <a class="lb-txt-none lb-txt" href="https://docs.aws.amazon.com/?pg=devctr" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}"> Documentation</a> <a class="lb-txt-none lb-txt" href="/getting-started/?intClick=dc_navbar" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}"> Getting Started Resource Center</a> <a class="lb-txt-none lb-txt" href="/it-pro/?intClick=dc_navbar" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}"> IT Pro Center</a> </div> </div> </header> <div id="aws-page-content" class="lb-page-content lb-page-with-sticky-subnav" style="padding-top:0px; padding-bottom:0px;" data-page-alert-target="true"> <main id="aws-page-content-main" role="main" tabindex="-1"> <div class="lb-bg-right-bottom-cover-no-repeat data-attr-wrapper lb-none-pad lb-none-v-margin lb-grid" style="background-color:#FFFFFF; background-image:url('https://d1.awsstatic.com/dev-center/developer-masthead.9bba98cb2e5360b923cdd1089f00a0a8f29feddf.png');" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="tile1" data-da-so-version="header" data-da-so-url="/products/analytics"> <div class="lb-row lb-row-max-large lb-snap"> <div class="lb-col lb-tiny-24 lb-mid-24"> <div class="lb-grid lb-row lb-row-max-large lb-snap"> <div class="lb-col lb-tiny-24 lb-mid-13"> <div class="lb-tiny-iblock lb-mid-pad lb-none-v-margin lb-box" style="background-color:#f1f4f6;"> <div class="lb-txt-blue-500 lb-none-v-margin lb-rtxt"> <p><a href="/developer/">Developer Center</a> / ...</p> </div> <h1 id="Ruby_on_AWS" class="lb-tiny-align-left lb-txt-bold lb-txt-none lb-txt-squid lb-txt-36 lb-none-v-margin lb-h1-large lb-title" style="margin-top:5px;"> Ruby on AWS</h1> <div class="lb-txt-normal lb-txt-none lb-txt-squid lb-txt-28 lb-txt-lead lb-small-v-margin lb-txt" style="margin-bottom:0px;"> Tools, docs, and sample code to develop applications on the AWS cloud </div> </div> </div> <div class="lb-col lb-tiny-24 lb-mid-11"> </div> </div> </div> </div> </div> <div class="lb-grid" style="margin-top:0px;"> <div class="lb-row lb-row-max-large lb-snap lb-gutter-mid"> <div class="lb-col lb-tiny-24 lb-mid-24"> <h2 id="Tools" class="lb-txt-none lb-txt-28 lb-h2 lb-title"> Tools</h2> <div class="lb-txt-none lb-txt-lead lb-txt"> Download the tools needed to run Ruby applications on AWS </div> <div class="lb-xb-grid-wrap" style="margin-top:0px; margin-bottom:0px;"> <div class="lb-xb-grid lb-row-max-large lb-xb-equal-height lb-snap lb-xb-justify-center lb-tiny-xb-1 lb-small-xb-2 lb-mid-xb-4"> <div class="lb-xbcol"> <div class="lb-box"> <figure class="lb-img"> <div> <img src="https://d1.awsstatic.com/Developer%20Marketing/languages/net/Get%20Started-2x.fee9fe2376c2bb4f4c49d81524f0cd0636e65a5e.png" alt="Get Started" title="Get Started" class="cq-dd-image"> </div> </figure> <div class="lb-tiny-align-center lb-small-align-center lb-mid-align-center lb-large-align-center lb-xlarge-align-center lb-txt-bold lb-txt-none lb-txt-16 lb-txt"> SDK for Ruby </div> <div class="lb-tiny-align-center lb-small-align-center lb-mid-align-center lb-large-align-center lb-xlarge-align-center lb-txt-none lb-txt"> This SDK provides Ruby classes for many AWS services including Amazon S3, Amazon EC2, DynamoDB, and more. </div> <a class="lb-tiny-align-center lb-small-align-center lb-mid-align-center lb-large-align-center lb-xlarge-align-center lb-txt-none lb-txt" style="margin-top:15px;" href="/sdk-for-ruby/" target="_blank" rel="noopener noreferrer"> Download SDK »</a> </div> </div> <div class="lb-xbcol"> <div class="lb-box"> <figure class="lb-img"> <div> <img src="https://d1.awsstatic.com/Developer%20Marketing/languages/net/Services-2x.aa8f4259567b96973fc594f836305e5d334ae78e.png" alt="Services" title="Services" class="cq-dd-image"> </div> </figure> <div class="lb-tiny-align-center lb-txt-bold lb-txt-none lb-txt-16 lb-txt"> AWS Rails SDK plugin </div> <div class="lb-tiny-align-center lb-txt-none lb-txt"> A Ruby on Rails plugin that integrates AWS services with your application using the latest version of AWS SDK for Ruby. </div> <a class="lb-tiny-align-center lb-txt-none lb-txt" style="margin-top:15px;" href="https://github.com/aws/aws-sdk-rails" target="_blank" rel="noopener noreferrer"> <i class="icon-github lb-before"></i> Clone on Github »</a> </div> </div> <div class="lb-xbcol"> <div class="lb-box"> <figure class="lb-img"> <div> <img src="https://d1.awsstatic.com/Developer%20Marketing/languages/net/Solutions-2x.dfd7902700538dd4a1a5471403ac08ad52ddf256.png" alt="Solutions" title="Solutions" class="cq-dd-image"> </div> </figure> <div class="lb-tiny-align-center lb-txt-bold lb-txt-none lb-txt-16 lb-txt"> AWS Record SDK extention </div> <div class="lb-tiny-align-center lb-txt-none lb-txt"> A data mapping abstraction over the AWS SDK for Ruby's client for Amazon DynamoDB. </div> <a class="lb-tiny-align-center lb-txt-none lb-txt" style="margin-top:15px;" href="https://github.com/aws/aws-sdk-ruby-record" target="_blank" rel="noopener noreferrer"> <i class="icon-github lb-before"></i> Clone on Github »</a> </div> </div> <div class="lb-xbcol"> <div class="lb-box"> <figure class="lb-img"> <div> <img src="https://d1.awsstatic.com/Developer%20Marketing/languages/net/NET%20Digital%20Library-2x.2003130c0a7d9323c4f01202b2c2450a61c8cf7c.png" alt="Digital Library" title="Digital Library" class="cq-dd-image"> </div> </figure> <div class="lb-tiny-align-center lb-txt-bold lb-txt-none lb-txt-16 lb-txt"> Ruby in Cloud9 IDE </div> <div class="lb-tiny-align-center lb-txt-none lb-txt"> AWS Cloud9 is a cloud-based IDE that lets you write, run, and debug your code with just a browser. It includes a code editor, debugger, and terminal. </div> <a class="lb-tiny-align-center lb-txt-none lb-txt" style="margin-top:15px;" href="https://docs.aws.amazon.com/cloud9/latest/user-guide/tutorial-ruby.html" target="_blank" rel="noopener noreferrer"> Get Started »</a> </div> </div> </div> </div> </div> </div> </div> <div class="lb-none-v-margin lb-grid" style="background-color:#f1f4f6; padding-top:30px;"> <div class="lb-row lb-row-max-large lb-snap lb-gutter-mid"> <div class="lb-col lb-tiny-24 lb-mid-24"> <h2 id="Blogs" class="lb-txt-none lb-txt-28 lb-h2 lb-title" style="margin-bottom:0px;"> Blogs</h2> <div class="lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap"> <div class="lb-col lb-tiny-24 lb-mid-24"> <div id="aws-element-b755e999-57bf-4e3f-8b17-51747843c55e" class="lb-mid-v-margin lb-directory-cards aws-directories-items m-cards-light" data-api="search" data-directory-id="blog-posts" data-cards-id="filtered-posts" data-sort_order="desc" data-size="4" data-allow-empty-results="false" data-last-page-num="false" data-theme-config="{"themeName":"article-list","themeVersion":"1.0.0","formatVersion":"1.0.0","hasThemeJS":false,"skeletonType":"list","mappings":{"requiredFields":{"title":"title","link":"link"},"optionalFields":{"authorName":"contributors","createdDate":"displayDate","subheading":"","description":"postExcerpt","trkOutputParam":"","trkCampaign":"","trkOverrideWithQs":""},"dialogFields":{}}}" data-expose-query-params="true" data-error-message="Something went wrong. We have been notified and are working to fix the issue." data-pagination-error-message="Pagination limit reached. No items returned on the page." data-lb-comp="cards" data-sort_by="item.additionalFields.createdDate" data-tag="blog-posts#category-programing-language#ruby|blog-posts#post-tags#ruby"> <div class="m-cards-skl m-cards-skl-list"> <div class="lb-row lb-snap lb-row-max-large"> <div class="m-cards-skl-light"></div> <div class="m-cards-skl-light"></div> <div class="m-cards-skl-light"></div> <div class="m-cards-skl-light"></div> </div> </div> <div class="m-cards-header"> <div class="lb-sr-only m-card-numbers-a11y" role="status" data-label-showing-results="Showing results" data-label-total-results="Total results" data-label-no-results="No result found"></div> <span class="m-card-sort-container"> <div id="aws-element-5925deb8-4256-441d-9ae1-a65e7206b6f1" class="lb-form-item m-disabled m-sort m-sort-light" data-lb-comp="sort" data-sort-scope="blog-posts" data-ui-scope="filtered-posts"> <div class="lb-dropdown lb-dropdown-p"> <input class="lb-dropdown-selected" type="hidden"> <ul class="lb-dropdown-list" role="listbox" id="aws-element-5925deb8-4256-441d-9ae1-a65e7206b6f1-listbox"> </ul> </div> </div> </span> </div> <div class="m-cards-no-items"> <div class="lb-tiny-align-center lb-txt-none lb-mid-v-margin lb-txt"> No blogs found matching that criteria. </div> </div> <script type="text/x-handlebars-template" data-hbs-template-path="article-list/1.0.0/article-list" data-hbs-context="{"componentInstanceId":"aws-element-b755e999-57bf-4e3f-8b17-51747843c55e"}"></script> <div class="aws-directories-container-wrapper"> <section class="m-card-article-list lb-row lb-snap lb-row-max-large"> <ul class="aws-directories-container"> </ul> </section> </div> <div class="m-directories-more-container"> <a class="m-directories-more m-directories-more-arrow m-cards-light" role="button" href="#" title="More…" aria-label="More…"> <span class="m-directories-more-arrow-icon"> <em class="lb-sr-only">More…</em> </span> </a> </div> </div> </div> </div> <a class="lb-txt-bold lb-txt-none lb-txt-blue-600 lb-txt" style="margin-bottom:25px;" href="https://aws.amazon.com/blogs/developer/category/programing-language/ruby/" target="_blank" rel="noopener noreferrer"> Explore More Technical Blogs »</a> </div> </div> </div> <div class="lb-grid"> <div class="lb-row lb-row-max-large lb-snap lb-gutter-mid"> <div class="lb-col lb-tiny-24 lb-mid-24"> <h2 id="Build" class="lb-txt-none lb-txt-28 lb-h2 lb-title" style="margin-bottom:0px;"> Build</h2> <div class="lb-xb-grid-wrap" style="padding-left:0px; margin-top:0px; margin-bottom:25px;"> <div class="lb-xb-grid lb-row-max-large lb-xb-equal-height lb-snap lb-gutter-tinyOutsideCollapse lb-tiny-xb-1 lb-small-xb-3"> <div> <div class="lb-xbcol"> <div class="lb-box" style="padding-left:10px;"> <h3 id="Working_with_DynamoDB" class="lb-txt-none lb-h3 lb-title"> Working with DynamoDB</h3> <div class="lb-rtxt"> <p>Follow a few simple steps to create a DynamoDB table, add, read and update data with the AWS SDK for Ruby.<br> </p> </div> <a class="lb-txt-none lb-txt" href="https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/dynamo-examples.html" target="_blank" rel="noopener noreferrer"> Get Started »</a> </div> </div> <div class="lb-xbcol"> <div class="lb-box" style="padding-left:0px;"> <h3 id="Manage_S3_buckets_with_Ruby" class="lb-txt-none lb-h3 lb-title"> Manage S3 buckets with Ruby</h3> <div class="lb-rtxt"> <p>A collection of short tutorials to execute common operations with S3 buckets such as storing and reading S3 buckets, encrypting your files and more.<br> </p> </div> <a class="lb-txt-none lb-txt" style="margin-top:0px;" href="https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/s3-examples.html" target="_blank" rel="noopener noreferrer"> Get Started »</a> </div> </div> <div class="lb-xbcol"> <div class="lb-box" style="padding-left:10px;"> <h3 id="Build_a_Serverless_Application" class="lb-txt-none lb-h3 lb-title"> Build a Serverless Application</h3> <div class="lb-rtxt"> <p>Learn how to create and run a Lambda function from the Ruby SDK. Also learn how to configure your Lambda function to receive notifications.<br> </p> </div> <a class="lb-txt-none lb-txt" href="https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/lambda-examples.html" target="_blank" rel="noopener noreferrer"> Get Started »</a> </div> </div> </div> </div> </div> </div> </div> </div> <div class="lb-none-v-margin lb-grid" style="background-color:#f1f4f6; padding-top:30px;"> <div class="lb-row lb-row-max-large lb-snap lb-gutter-mid"> <div class="lb-col lb-tiny-24 lb-mid-24"> <h2 id="Learn" class="lb-txt-none lb-txt-28 lb-h2 lb-title"> Learn</h2> <div class="lb-txt-none lb-txt-lead lb-txt"> Additional learning resources including sample code and documentation </div> <div class="lb-xb-grid-wrap"> <div class="lb-xb-grid lb-row-max-large lb-xb-equal-height lb-snap lb-gutter-tinyOutsideCollapse lb-tiny-xb-1 lb-small-xb-2 lb-mid-xb-4"> <div> <div class="lb-xbcol"> <div class="lb-border-p lb-tiny-pad lb-box lb-has-link lb-hover-p-feature-shadow" style="background-color:#FFFFFF; padding-top:0px; padding-left:0px; padding-right:0px;"> <a style="padding-top:0px; padding-left:0px; padding-right:0px;" href="https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/welcome.html" target="_blank" rel="noopener noreferrer"> <div class="lb-mid-small-pad lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap" style="padding-bottom:0px;"> <div class="lb-col lb-tiny-24 lb-mid-6"> <figure class="lb-valign-top lb-img"> <div> <img src="https://d1.awsstatic.com/Developer%20Marketing/developer-center/logo_ruby.064febd02d252604bc55306a61f9e5027a49a052.png" alt="SDK" title="SDK" class="cq-dd-image"> </div> </figure> </div> <div class="lb-col lb-tiny-24 lb-mid-18"> <div class="lb-txt-bold lb-txt-none lb-txt-blue-600 lb-txt-20 lb-small-pad lb-none-v-margin lb-txt" style="padding-left:0px; padding-right:0px;"> Ruby SDK Documentation </div> </div> </div> <div class="lb-txt-none lb-mid-small-pad lb-txt" style="padding-top:0px; color:#232f3e;"> Developer Guide for the AWS SDK for Ruby. </div> </a> </div> </div> <div class="lb-xbcol"> <div class="lb-border-p lb-tiny-pad lb-box lb-has-link lb-hover-p-feature-shadow" style="background-color:#FFFFFF; padding-top:0px; padding-left:0px; padding-right:0px;"> <a style="padding-top:0px; padding-left:0px; padding-right:0px;" href="https://aws.amazon.com/developer/code-examples/?code-examples-all.sort-by=item.additionalFields.category&code-examples-all.sort-order=desc&awsf.sdk-code-examples-programming-language=programming-language%23ruby&awsf.sdk-code-examples-type=*all&awsf.sdk-code-samples-tech-category=*all&awsf.sdk-code-examples-product=*all" target="_blank" rel="noopener noreferrer"> <div class="lb-mid-small-pad lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap" style="padding-bottom:0px; margin-bottom:0px;"> <div class="lb-col lb-tiny-24 lb-mid-6"> <figure class="lb-valign-top lb-img"> <div> <img src="https://d1.awsstatic.com/r2018/a/Next-Steps-Icon_Source-code.20c757e70cba63f7fc6082bfd5f2cac70df44977.png" alt="Code Examples" title="Code Examples" class="cq-dd-image"> </div> </figure> </div> <div class="lb-col lb-tiny-24 lb-mid-18"> <div class="lb-txt-bold lb-txt-none lb-txt-blue-600 lb-txt-20 lb-small-pad lb-none-v-margin lb-txt" style="padding-left:0px; padding-right:0px;"> Ruby Code Examples </div> </div> </div> <div class="lb-txt-none lb-mid-small-pad lb-txt" style="padding-top:0px; color:#232f3e;"> Examples for the AWS SDK for Ruby public documentation. </div> </a> </div> </div> <div class="lb-xbcol"> <div class="lb-border-p lb-tiny-pad lb-box lb-has-link lb-hover-p-feature-shadow" style="background-color:#FFFFFF; padding-top:0px; padding-left:0px; padding-right:0px;"> <a style="padding-top:0px; padding-left:0px; padding-right:0px;" href="https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/rails.html" target="_blank" rel="noopener noreferrer"> <div class="lb-mid-small-pad lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap" style="padding-bottom:0px; margin-bottom:0px;"> <div class="lb-col lb-tiny-24 lb-mid-6"> <figure class="lb-valign-top lb-img"> <div> <img src="https://d1.awsstatic.com/Developer%20Marketing/developer-center/logo_ruby.064febd02d252604bc55306a61f9e5027a49a052.png" alt="GitHub" title="GitHub" class="cq-dd-image"> </div> </figure> </div> <div class="lb-col lb-tiny-24 lb-mid-18"> <div class="lb-txt-bold lb-txt-none lb-txt-blue-600 lb-txt-20 lb-small-pad lb-none-v-margin lb-txt" style="padding-left:0px; padding-right:0px;"> Rails SDK Documentation </div> </div> </div> <div class="lb-txt-none lb-mid-small-pad lb-txt" style="padding-top:0px; color:#232f3e;"> API Reference for the AWS SDK for Ruby Rails Plugin. </div> </a> </div> </div> <div class="lb-xbcol"> <div class="lb-border-p lb-tiny-pad lb-box lb-has-link lb-hover-p-feature-shadow" style="background-color:#FFFFFF; padding-top:0px; padding-left:0px; padding-right:0px;"> <a style="padding-top:0px; padding-left:0px; padding-right:0px;" href="https://docs.aws.amazon.com/sdk-for-ruby/v3/api/" target="_blank" rel="noopener noreferrer"> <div class="lb-mid-small-pad lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap" style="padding-bottom:0px; margin-bottom:0px;"> <div class="lb-col lb-tiny-24 lb-mid-6"> <figure class="lb-valign-top lb-img"> <div> <img src="https://d1.awsstatic.com/webteam/product-pages/Next-Steps-Icon_Source-code.20c757e70cba63f7fc6082bfd5f2cac70df44977.png" alt=".NET Foundation" title=".NET Foundation" class="cq-dd-image"> </div> </figure> </div> <div class="lb-col lb-tiny-24 lb-mid-18"> <div class="lb-txt-bold lb-txt-none lb-txt-blue-600 lb-txt-20 lb-small-pad lb-none-v-margin lb-txt" style="padding-left:0px; padding-right:0px;"> API Reference </div> </div> </div> <div class="lb-txt-none lb-mid-small-pad lb-txt" style="padding-top:0px; color:#232f3e; margin-top:0px;"> API reference documentation for the latest version of the SDK for Ruby. </div> </a> </div> </div> </div> </div> </div> </div> </div> </div> <div class="lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap"> <div class="lb-col lb-tiny-24 lb-mid-24"> <div class="lb-none-pad lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap"> <div class="lb-col lb-tiny-24 lb-mid-24"> <div class="lb-small-hide lb-none-pad lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap"> <div class="lb-col lb-tiny-24 lb-mid-24"> <div class="lb-tiny-pad lb-box"> <h3 id="Was_this_page_helpful.3F" class="lb-txt-none lb-none-v-margin lb-h3 lb-title"> Was this page helpful?</h3> <div class="lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap"> <div class="lb-col lb-tiny-24 lb-mid-24"> <div class="lb-tiny-iblock lb-none-pad lb-none-v-margin lb-box"> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so category="feedback" data-da-so-url="devctr" data-da-so-name="yes"> <div class="data-attr-wrapper lb-tiny-iblock lb-none-v-margin lb-btn lb-icon-only" data-da-type="so" data-da-so-category="feedback" data-da-so-url="gsrc" data-da-so-name="yes"> <a class="lb-btn-p" href="#" data-mbox-ignore="true" data-lb-modal-trigger="modal" role="button" aria-expanded="false" aria-label="Open for more information" id="modal-modal-trigger" aria-controls="modal" aria-haspopup="dialog" data-trk-params="{"trkOverrideWithQs":true}"> <span> <i class="icon-thumbs-up lb-before"></i></span> </a> </div> </div> </div> <div class="lb-tiny-iblock lb-none-pad lb-none-v-margin lb-box"> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so-category="feedback" data-da-so-url="devctr" data-da-so-name="no"> <div class="data-attr-wrapper lb-tiny-iblock lb-none-v-margin lb-btn lb-icon-only" data-da-type="so" data-da-so-category="feedback" data-da-so-url="gsrc" data-da-so-name="no"> <a class="lb-btn-p" href="#" data-mbox-ignore="true" data-lb-modal-trigger="modal" role="button" aria-expanded="false" aria-label="Open for more information" id="modal-modal-trigger" aria-controls="modal" aria-haspopup="dialog" data-trk-params="{"trkOverrideWithQs":true}"> <span> <i class="icon-thumbs-down lb-before"></i></span> </a> </div> </div> </div> <div class="lb-tiny-iblock lb-none-pad lb-none-v-margin lb-box"> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so-category="feedback" data-da-so-url="devctr" data-da-so-name="manual"> <div class="data-attr-wrapper lb-tiny-iblock lb-none-v-margin lb-btn" data-da-type="so" data-da-so-category="feedback" data-da-so-url="gsrc" data-da-so-name="manual"> <a class="lb-btn-p" href="https://docs-feedback.aws.amazon.com/feedback.jsp?feedback_destination_id=068c0217-1615-4028-b3f7-7de2fb227b77&topic_url=https://aws.amazon.com/developer/language/" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}" role="button"> <span> <i class="icon-commenting lb-before"></i> Feedback</span> </a> </div> </div> </div> </div> </div> </div> </div> </div> <div class="lb-tiny-hide lb-small-show lb-none-pad lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap"> <div class="lb-col lb-tiny-24 lb-mid-24"> <div class="lb-small-show lb-none-pad lb-top-right lb-fixed-pos-wrapper" style="z-index:2; top:50%; right:0%; padding-right:0px;"> <div class="lb-border-p-feature lb-small-radius lb-tiny-hide lb-small-hide lb-mid-show lb-large-show lb-xlarge-show lb-none-pad lb-none-v-margin lb-box lb-hover-p-feature-shadow" style="background-color:rgba(255,255,255,0.7);"> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so category="feedback" data-da-so-url="devctr" data-da-so-name="yes"> <a class="lb-tiny-align-center lb-txt-none lb-txt-20 lb-txt" style="padding-top:10px; padding-left:5px; padding-bottom:10px; padding-right:0px;" href="#" data-mbox-ignore="true" data-lb-modal-trigger="modal" role="button" aria-expanded="false" aria-label="Open for more information" id="modal-modal-trigger" aria-controls="modal" aria-haspopup="dialog"> <i class="icon-thumbs-o-up lb-before"></i></a> </div> <div class="lb-none-pad lb-none-v-margin lb-box" style="padding-left:10px; padding-right:10px;"> <hr class="lb-none-v-margin lb-divider"> </div> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so-category="feedback" data-da-so-url="devctr" data-da-so-name="no"> <a class="lb-tiny-align-center lb-txt-none lb-txt-20 lb-txt" style="padding-top:10px; padding-left:5px; padding-bottom:10px; padding-right:0px;" href="#" data-mbox-ignore="true" data-lb-modal-trigger="modal" role="button" aria-expanded="false" aria-label="Open for more information" id="modal-modal-trigger" aria-controls="modal" aria-haspopup="dialog"> <i class="icon-thumbs-o-down lb-before"></i></a> </div> <div class="lb-none-pad lb-none-v-margin lb-box" style="padding-left:10px; padding-right:10px;"> <hr class="lb-none-v-margin lb-divider"> </div> <div class="lb-data-attr-wrapper data-attr-wrapper" data-da-type="so" data-da-so-category="feedback" data-da-so-url="devctr" data-da-so-name="manual"> <a class="lb-tiny-align-center lb-txt-none lb-txt-20 lb-txt" style="padding-top:10px; padding-left:5px; padding-bottom:10px; padding-right:0px;" href="https://docs-feedback.aws.amazon.com/feedback.jsp?feedback_destination_id=068c0217-1615-4028-b3f7-7de2fb227b77&topic_url=https://aws.amazon.com/developer/language/" target="_blank" rel="noopener noreferrer"> <i class="icon-commenting lb-before"></i></a> </div> </div> </div> </div> </div> <div class="lb-none-v-margin lb-grid lb-row lb-row-max-large lb-snap"> <div class="lb-col lb-tiny-24 lb-mid-4"> </div> <div class="lb-col lb-tiny-24 lb-mid-16"> <div class="lb-skt-overlay lb-modal lb-comp-content-container" id="modal" role="dialog" aria-modal="true" aria-labelledby="modal-modal-trigger" data-lb-comp="modal" data-lb-modal-id="modal"> <div class="lb-modal-content"> <div class="lb-modal-close-container"> <button class="lb-modal-close" aria-label="Close" title="Close"> <span class="lb-sr-only">Close</span> </button> </div> <div class="lb-txt-bold lb-txt-none lb-txt-18 lb-none-v-margin lb-txt"> Thank you for your feedback </div> <div class="lb-txt-none lb-txt-squid lb-txt" style="margin-top:20px;"> Feedback helps us improve our experience. If you would like to share more details on the feedback, please click the feedback button below. </div> <div class="data-attr-wrapper lb-tiny-iblock lb-btn" data-da-type="so" data-da-so-category="feedback" data-da-so-url="gsrc" data-da-so-name="manual"> <a class="lb-btn-p" href="https://docs-feedback.aws.amazon.com/feedback.jsp?feedback_destination_id=068c0217-1615-4028-b3f7-7de2fb227b77&topic_url=https://aws.amazon.com/developer/language/" target="_blank" rel="noopener noreferrer" data-trk-params="{"trkOverrideWithQs":true}" role="button"> <span> <i class="icon-comments lb-before"></i> Feedback</span> </a> </div> </div> </div> </div> <div class="lb-col lb-tiny-24 lb-mid-4"> </div> </div> </div> </div> </div> </div> </main> </div> <footer id="aws-page-footer" class="m-page-footer" role="contentinfo"> <div class="data-attr-wrapper lb-none-v-margin lb-xb-grid-wrap" style="background-color:#141f2e;" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="footer" data-da-so-version="a"> <div class="lb-xb-grid lb-row-max-large lb-snap lb-tiny-xb-1 lb-small-xb-3 lb-large-xb-5"> <div class="lb-xbcol"> <div class="data-attr-wrapper lb-small-hide lb-btn" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="footer_buttons" data-da-so-url="all" data-da-so-version="footer_signin-mobile-default"> <a class="lb-btn-p-primary" href="https://console.aws.amazon.com/console/home?nc1=f_ct&src=footer-signin-mobile" role="button"> <span> Sign In to the Console</span> </a> </div> <h3 class="lb-txt-none lb-txt-white lb-tiny-v-margin lb-h3 lb-title"> Learn About AWS</h3> <ul class="lb-txt-white lb-ul lb-list-style-none lb-li-micro-v-margin lb-tiny-ul-block" style="margin-bottom:0px;"> <li><a href="/what-is-aws/?nc1=f_cc" target="_blank" rel="noopener noreferrer">What Is AWS?</a></li> <li><a href="/what-is-cloud-computing/?nc1=f_cc" target="_blank" rel="noopener noreferrer">What Is Cloud Computing?</a></li> <li><a href="/accessibility/?nc1=f_cc" target="_blank" rel="noopener noreferrer">AWS Accessibility</a></li> <li><a href="/diversity-inclusion/?nc1=f_cc" target="_blank" rel="noopener noreferrer">AWS Inclusion, Diversity & Equity</a></li> <li><a href="/devops/what-is-devops/?nc1=f_cc" target="_blank" rel="noopener noreferrer">What Is DevOps?</a></li> <li><a href="/containers/?nc1=f_cc" target="_blank" rel="noopener noreferrer">What Is a Container?</a></li> <li><a href="/what-is/data-lake/?nc1=f_cc" target="_blank" rel="noopener noreferrer">What Is a Data Lake?</a></li> <li><a href="/what-is/artificial-intelligence/?nc1=f_cc" target="_blank" rel="noopener noreferrer">What is Artificial Intelligence (AI)?</a></li> <li><a href="/what-is/generative-ai/?nc1=f_cc" target="_blank" rel="noopener noreferrer">What is Generative AI?</a></li> <li><a href="/what-is/machine-learning/?nc1=f_cc" target="_blank" rel="noopener noreferrer">What is Machine Learning (ML)?</a></li> <li><a href="/security/?nc1=f_cc" target="_blank" rel="noopener noreferrer">AWS Cloud Security</a></li> <li><a href="/new/?nc1=f_cc" target="_blank" rel="noopener noreferrer">What's New</a></li> <li><a href="/blogs/?nc1=f_cc" target="_blank" rel="noopener noreferrer">Blogs</a></li> <li><a href="https://press.aboutamazon.com/press-releases/aws" target="_blank" rel="noopener noreferrer" title="Press Releases" alt="Press Releases">Press Releases</a></li> </ul> </div> <div class="lb-xbcol"> <h3 class="lb-txt-none lb-txt-white lb-tiny-v-margin lb-h3 lb-title"> Resources for AWS</h3> <ul class="lb-txt-white lb-ul lb-list-style-none lb-li-micro-v-margin lb-tiny-ul-block" style="margin-bottom:0px;"> <li><a href="/getting-started/?nc1=f_cc" target="_blank" rel="noopener noreferrer">Getting Started</a></li> <li><a href="/training/?nc1=f_cc" target="_blank" rel="noopener noreferrer">Training and Certification</a></li> <li><a href="/solutions/?nc1=f_cc" target="_blank" rel="noopener noreferrer">AWS Solutions Library</a></li> <li><a href="/architecture/?nc1=f_cc" target="_blank" rel="noopener noreferrer">Architecture Center</a></li> <li><a href="/faqs/?nc1=f_dr" target="_blank" rel="noopener noreferrer">Product and Technical FAQs</a></li> <li><a href="/resources/analyst-reports/?nc1=f_cc" target="_blank" rel="noopener noreferrer">Analyst Reports</a></li> <li><a href="/partners/work-with-partners/?nc1=f_dr" target="_blank" rel="noopener noreferrer">AWS Partners</a></li> </ul> </div> <div class="lb-xbcol"> <h3 class="lb-txt-none lb-txt-white lb-tiny-v-margin lb-h3 lb-title"> Developers on AWS</h3> <ul class="lb-txt-white lb-ul lb-list-style-none lb-li-micro-v-margin lb-tiny-ul-block" style="margin-bottom:0px;"> <li><a href="/developer/?nc1=f_dr" target="_blank" rel="noopener noreferrer">Developer Center</a></li> <li><a href="/developer/tools/?nc1=f_dr" target="_blank" rel="noopener noreferrer">SDKs & Tools</a></li> <li><a href="/developer/language/net/?nc1=f_dr" target="_blank" rel="noopener noreferrer">.NET on AWS</a></li> <li><a href="/developer/language/python/?nc1=f_dr" target="_blank" rel="noopener noreferrer">Python on AWS</a></li> <li><a href="/developer/language/java/?nc1=f_dr" target="_blank" rel="noopener noreferrer">Java on AWS</a></li> <li><a href="/developer/language/php/?nc1=f_cc" target="_blank" rel="noopener noreferrer">PHP on AWS</a></li> <li><a href="/developer/language/javascript/?nc1=f_dr" target="_blank" rel="noopener noreferrer">JavaScript on AWS</a></li> </ul> </div> <div class="lb-xbcol"> <h3 class="lb-txt-none lb-txt-white lb-tiny-v-margin lb-h3 lb-title"> Help</h3> <ul class="lb-txt-white lb-ul lb-list-style-none lb-li-micro-v-margin lb-tiny-ul-block" style="margin-bottom:0px;"> <li><a href="/contact-us/?nc1=f_m" target="_blank" rel="noopener noreferrer">Contact Us</a></li> <li><a href="https://iq.aws.amazon.com/?utm=mkt.foot/?nc1=f_m" target="_blank" rel="noopener noreferrer">Get Expert Help</a></li> <li><a href="https://console.aws.amazon.com/support/home/?nc1=f_dr" target="_blank" rel="noopener noreferrer">File a Support Ticket</a></li> <li><a href="https://repost.aws/?nc1=f_dr" target="_blank" rel="noopener noreferrer">AWS re:Post</a></li> <li><a href="https://repost.aws/knowledge-center/?nc1=f_dr" target="_blank" rel="noopener noreferrer">Knowledge Center</a></li> <li><a href="/premiumsupport/?nc1=f_dr" target="_blank" rel="noopener noreferrer">AWS Support Overview</a></li> <li><a href="/legal/?nc1=f_cc" target="_blank" rel="noopener noreferrer">Legal</a></li> <li><a href="/careers/">AWS Careers</a></li> </ul> <div class="lb-mbox js-mbox" data-lb-comp="mbox" data-lb-comp-ignore="true" data-mbox="en_footer-v3_addl-help"> </div> </div> <div class="lb-xbcol"> <div class="lb-mbox js-mbox" data-lb-comp="mbox" data-lb-comp-ignore="true" data-mbox="en_footer-v3_cta"> <div class="data-attr-wrapper lb-tiny-hide lb-small-show lb-btn" data-da-type="so" data-da-so-type="viewport" data-da-so-language="en" data-da-so-category="monitoring" data-da-so-name="footer_buttons" data-da-so-url="all" data-da-so-version="footer_signup-default"> <a class="lb-btn-p-primary" href="https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc1=f_ct&src=default" role="button"> <span> Create an AWS Account</span> </a> </div> </div> <div class="lb-xb-grid-wrap" style="padding-left:0px; margin-top:20px; margin-bottom:0px;"> <div class="lb-xb-grid lb-row-max-large lb-xb-equal-height lb-snap lb-gutter-collapse lb-vgutter-collapse lb-tiny-xb-4"> <div class="lb-xbcol"> <a class="lb-txt-none lb-txt-white lb-none-pad lb-txt" style="padding-left:0px; padding-right:5px;" href="https://twitter.com/awscloud" target="_blank" rel="noopener noreferrer" title="Twitter" alt="Twitter"> <i class="icon-twitter lb-before"></i></a> </div> <div class="lb-xbcol"> <a class="lb-txt-none lb-txt-white lb-none-pad lb-none-v-margin lb-txt" style="padding-right:5px;" href="https://www.facebook.com/amazonwebservices" target="_blank" rel="noopener noreferrer" title="Facebook" alt="Facebook"> <i class="icon-facebook lb-before"></i></a> </div> <div class="lb-xbcol"> <a class="lb-txt-none lb-txt-white lb-none-pad lb-txt" style="padding-right:5px;" href="https://www.linkedin.com/company/amazon-web-services/" target="_blank" rel="noopener noreferrer" title="Linkedin" alt="Linkedin"> <i class="icon-linkedin lb-before"></i></a> </div> <div class="lb-xbcol"> <a class="lb-txt-none lb-txt-white lb-none-pad lb-txt" style="padding-right:5px;" href="https://www.instagram.com/amazonwebservices/" target="_blank" rel="noopener noreferrer" title="Instagram" alt="Instagram"> <i class="icon-instagram lb-before"></i></a> </div> </div> </div> <div class="lb-xb-grid-wrap" style="padding-left:0px; margin-top:10px;"> <div class="lb-xb-grid lb-row-max-large lb-xb-equal-height lb-snap lb-gutter-collapse lb-vgutter-collapse lb-tiny-xb-4"> <div class="lb-xbcol"> <a class="lb-txt-none lb-txt-white lb-none-pad lb-txt" style="padding-right:5px;" href="https://www.twitch.tv/aws" target="_blank" rel="noopener noreferrer" title="Twitch" alt="Twitch"> <i class="icon-twitch lb-before"></i></a> </div> <div class="lb-xbcol"> <a class="lb-txt-none lb-txt-white lb-none-pad lb-txt" style="padding-right:5px;" href="https://www.youtube.com/user/AmazonWebServices/Cloud/" target="_blank" rel="noopener noreferrer" title="YouTube" alt="YouTube"> <i class="icon-youtube lb-before"></i></a> </div> <div class="lb-xbcol"> <a class="lb-txt-none lb-txt-white lb-none-pad lb-txt" style="padding-right:5px;" href="/podcasts/" target="_blank" rel="noopener noreferrer" title="Podcast" alt="Podcast"> <i class="icon-podcast lb-before"></i></a> </div> <div class="lb-xbcol"> <a class="lb-txt-none lb-txt-white lb-none-pad lb-txt" style="padding-right:5px;" href="https://pages.awscloud.com/communication-preferences?trk=homepage" target="_blank" rel="noopener noreferrer" title="Email" alt="Email"> <i class="icon-envelope-o lb-before"></i></a> </div> </div> </div> <div class="lb-txt-normal lb-txt-white lb-txt-14 lb-rtxt" style="color:#eaeded; margin-top:0px;"> <div> Amazon is an Equal Opportunity Employer: <i> Minority / Women / Disability / Veteran / Gender Identity / Sexual Orientation / Age.</i> </div> </div> </div> </div> </div> <div class="lb-none-pad lb-none-v-margin lb-xb-grid-wrap" style="background-color:#141f2e;"> <div class="lb-xb-grid lb-row-max-large lb-snap lb-tiny-xb-1"> <div class="lb-xbcol"> <ul class="lb-txt-white lb-tiny-iblock lb-none-v-margin lb-ul lb-list-style-none lb-li-micro-v-margin lb-tiny-ul-iblock"> <li class="lb-txt-bold">Language</li> <li data-language="ar" lang="ar-SA" translate="no"><a href="https://aws.amazon.com/ar/?nc1=h_ls">عربي</a></li> <li data-language="id" lang="id-ID" translate="no"><a href="https://aws.amazon.com/id/?nc1=h_ls">Bahasa Indonesia</a></li> <li data-language="de" lang="de-DE" translate="no"><a href="https://aws.amazon.com/de/?nc1=h_ls">Deutsch</a></li> <li data-language="en" lang="en-US" translate="no"><a href="https://aws.amazon.com/?nc1=h_ls">English</a></li> <li data-language="es" lang="es-ES" translate="no"><a href="https://aws.amazon.com/es/?nc1=h_ls">Español</a></li> <li data-language="fr" lang="fr-FR" translate="no"><a href="https://aws.amazon.com/fr/?nc1=h_ls">Français</a></li> <li data-language="it" lang="it-IT" translate="no"><a href="https://aws.amazon.com/it/?nc1=h_ls">Italiano</a></li> <li data-language="pt" lang="pt-BR" translate="no"><a href="https://aws.amazon.com/pt/?nc1=h_ls">Português</a></li> <li data-language="vi" lang="vi-VN" translate="no"><a href="https://aws.amazon.com/vi/?nc1=f_ls">Tiếng Việt</a></li> <li data-language="tr" lang="tr-TR" translate="no"><a href="https://aws.amazon.com/tr/?nc1=h_ls">Türkçe</a></li> <li data-language="ru" lang="ru-RU" translate="no"><a href="https://aws.amazon.com/ru/?nc1=h_ls">Ρусский</a></li> <li data-language="th" lang="th-TH" translate="no"><a href="https://aws.amazon.com/th/?nc1=f_ls">ไทย</a></li> <li data-language="jp" lang="ja-JP" translate="no"><a href="https://aws.amazon.com/jp/?nc1=h_ls">日本語</a></li> <li data-language="ko" lang="ko-KR" translate="no"><a href="https://aws.amazon.com/ko/?nc1=h_ls">한국어</a></li> <li data-language="cn" lang="zh-CN" translate="no"><a href="https://aws.amazon.com/cn/?nc1=h_ls">中文 (简体)</a></li> <li data-language="tw" lang="zh-TW" translate="no"><a href="https://aws.amazon.com/tw/?nc1=h_ls">中文 (繁體)</a></li> </ul> </div> </div> </div> <div class="lb-none-pad lb-none-v-margin lb-xb-grid-wrap" style="background-color:#EAEDED; padding-top:5px;"> <div class="lb-xb-grid lb-row-max-large lb-snap lb-tiny-xb-1"> <div class="lb-xbcol"> <div class="lb-mbox js-mbox" data-lb-comp="mbox" data-lb-comp-ignore="true" data-mbox="en_footer-legal-links"> <ul class="lb-txt-squid lb-none-v-margin lb-ul lb-list-style-none lb-li-none-v-margin lb-tiny-ul-iblock"> <li><a href="https://aws.amazon.com/privacy/?nc1=f_pr">Privacy</a></li> <li>|</li> <li><a href="https://aws.amazon.com/accessibility/?nc1=f_acc">Accessibility</a></li> <li>|</li> <li><a href="https://aws.amazon.com/terms/?nc1=f_pr">Site Terms</a></li> <li>|</li> <li data-cookie-consent-modal="1"><a href="#"> Cookie Preferences </a></li> <li>|</li> <li>© 2024, Amazon Web Services, Inc. or its affiliates. All rights reserved.</li> </ul> </div> </div> </div> </div> </footer> <div id="aws-page-end"></div> <div id="lb-page-end"></div> <div id="mrc-sunrise-chat"></div> <script defer id="mrc-sunrise-chat-loader" src="https://loader.us-east-1.prod.mrc-sunrise.marketing.aws.dev/loader.js"></script> <!--[if lte IE 9]> <p class="deprecated-browser-support-message"> You are using an outdated browser. Please upgrade to a modern browser to improve your experience.<img src="https://fls-na.amazon.com/1/action-impressions/1/OE/aws-mktg/action/awsm_:comp_DeprecatedBrowser@v=1:u=c?dataset=LIVE:PROD&instance=PUB&client=dsk&marketplaceId=A12QK8IU0H0XW5&requestId=ABCDEFGHIJKLMNOPQRST&session=123-1234567-1234567" alt="deprecated-browser pixel tag" /> </p> <![endif]--> <div class="lb-skt-overlay lb-modal lb-comp-content-container" data-lb-comp="modal" data-lb-modal-id="ie-deprecation-msg" data-ie10-deprecation-msg="You are using an outdated browser. Please upgrade to a modern browser to improve your experience."> <div class="lb-modal-dialog"> <div class="lb-modal-content"> <div class="lb-modal-header"> <h4 class="lb-h4"> Ending Support for Internet Explorer</h4> <a class="lb-modal-close" role="button" href="#" title="Close"> <span class="lb-sr-only">Got it</span> </a> </div> <div class="lb-modal-body"> AWS support for Internet Explorer ends on 07/31/2022. Supported browsers are Chrome, Firefox, Edge, and Safari. <a href="https://aws.amazon.com/blogs/aws/heads-up-aws-support-for-internet-explorer-11-is-ending/" rel="noopener">Learn more »</a> </div> <div class="lb-modal-footer"> <a class="lb-btn-p-primary lb-modal-close lb-modal-action" role="button">Got it</a> </div> </div> </div> </div> <a data-lb-modal-trigger="ie-deprecation-msg" style="display: none;"></a> <!-- cms_updated_at: 2024-12-05T14:34:08.057-0800 --> </body> </html>