CINXE.COM

Setting up a Ruby development environment  |  Google Cloud

<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/webhistory"> <meta property="og:site_name" content="Google Cloud"> <meta property="og:type" content="website"><meta name="theme-color" content="#039be5"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/cloud/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500,700|Google+Sans+Text:400,400italic,500,500italic,700,700italic|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/favicons/onecloud/favicon.ico"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/favicons/onecloud/super_cloud.png"><link rel="canonical" href="https://cloud.google.com/ruby/docs/setup"><link rel="search" type="application/opensearchdescription+xml" title="Google Cloud" href="https://cloud.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://cloud.google.com/ruby/docs/setup" /><link rel="alternate" hreflang="x-default" href="https://cloud.google.com/ruby/docs/setup" /><link rel="alternate" hreflang="zh-Hans" href="https://cloud.google.com/ruby/docs/setup?hl=zh-cn" /><link rel="alternate" hreflang="fr" href="https://cloud.google.com/ruby/docs/setup?hl=fr" /><link rel="alternate" hreflang="de" href="https://cloud.google.com/ruby/docs/setup?hl=de" /><link rel="alternate" hreflang="it" href="https://cloud.google.com/ruby/docs/setup?hl=it" /><link rel="alternate" hreflang="ja" href="https://cloud.google.com/ruby/docs/setup?hl=ja" /><link rel="alternate" hreflang="ko" href="https://cloud.google.com/ruby/docs/setup?hl=ko" /><link rel="alternate" hreflang="pt-BR" href="https://cloud.google.com/ruby/docs/setup?hl=pt-br" /><link rel="alternate" hreflang="es-419" href="https://cloud.google.com/ruby/docs/setup?hl=es-419" /><title>Setting up a Ruby development environment &nbsp;|&nbsp; Google Cloud</title> <meta property="og:title" content="Setting up a Ruby development environment &nbsp;|&nbsp; Google Cloud"><meta property="og:url" content="https://cloud.google.com/ruby/docs/setup"><meta property="og:image" content="https://cloud.google.com/_static/cloud/images/social-icon-google-cloud-1200-630.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Setting up a Ruby development environment" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Ruby", "item": "https://cloud.google.com/ruby" },{ "@type": "ListItem", "position": 2, "name": "Documentation", "item": "https://cloud.google.com/ruby/docs" },{ "@type": "ListItem", "position": 3, "name": "Setting up a Ruby development environment", "item": "https://cloud.google.com/ruby/docs/setup" }] } </script> <meta name="gtm_var" data-key="docType" data-value="whitepaper"> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="cloud-theme" type="article" layout="docs" free-trial display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><cloudx-track userCountry="SG"></cloudx-track> <cloudx-utils-init></cloudx-utils-init> <devsite-header keep-tabs-visible> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="googleCloud" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/cloud-logo.svg" class="devsite-site-logo" alt="Google Cloud"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <cloudx-tabs-nav class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab class="devsite-active"> <a href="https://cloud.google.com/docs" track-metadata-eventdetail="https://cloud.google.com/docs" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - docs-home" track-metadata-module="primary nav" aria-label="Documentation, selected" data-category="Site-Wide Custom Events" data-label="Tab: Documentation" track-name="docs-home" track-link-column-type="single-column" > Documentation </a> </tab> <tab class="devsite-dropdown devsite-clickable "> <a href="https://cloud.google.com/docs/tech-area-overviews" track-metadata-eventdetail="https://cloud.google.com/docs/tech-area-overviews" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - technology-areas" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Technology areas" track-name="technology-areas" track-link-column-type="single-column" > Technology areas </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Technology areas" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/tech-area-overviews" track-metadata-position="nav - technology-areas" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Technology areas" track-name="technology-areas" track-link-column-type="single-column" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <button class="devsite-tabs-close-button material-icons button-flat gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close dropdown menu" aria-label="Close dropdown menu" track-type="nav" track-name="close" track-metadata-eventdetail="#" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav">close</button> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/ai-ml" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/ai-ml" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> AI and ML </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/application-development" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/application-development" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Application development </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/application-hosting" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/application-hosting" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Application hosting </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/compute-area" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/compute-area" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Compute </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/data" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/data" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Data analytics and pipelines </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/databases" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/databases" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Databases </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/dhm-cloud" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/dhm-cloud" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Distributed, hybrid, and multicloud </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/generative-ai" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/generative-ai" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Generative AI </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/industry" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/industry" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Industry solutions </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/networking" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/networking" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Networking </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/observability" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/observability" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Observability and monitoring </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/security" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/security" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Security </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/storage" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/storage" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Storage </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown devsite-clickable "> <a href="https://cloud.google.com/docs/cross-product-overviews" track-metadata-eventdetail="https://cloud.google.com/docs/cross-product-overviews" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - crossproduct" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Cross-product tools" track-name="crossproduct" track-link-column-type="single-column" > Cross-product tools </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Cross-product tools" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/cross-product-overviews" track-metadata-position="nav - crossproduct" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Cross-product tools" track-name="crossproduct" track-link-column-type="single-column" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <button class="devsite-tabs-close-button material-icons button-flat gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close dropdown menu" aria-label="Close dropdown menu" track-type="nav" track-name="close" track-metadata-eventdetail="#" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav">close</button> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/access-resources" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/access-resources" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Access and resources management </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/costs-usage" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/costs-usage" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Costs and usage management </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/devtools" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/devtools" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud SDK, languages, frameworks, and tools </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/iac" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/iac" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Infrastructure as code </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/migration" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/migration" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Migration </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown devsite-clickable "> <a href="https://cloud.google.com/" track-metadata-eventdetail="https://cloud.google.com/" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - related-sites" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Related sites" track-name="related-sites" track-link-column-type="single-column" > Related sites </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Related sites" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/" track-metadata-position="nav - related-sites" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Related sites" track-name="related-sites" track-link-column-type="single-column" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <button class="devsite-tabs-close-button material-icons button-flat gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close dropdown menu" aria-label="Close dropdown menu" track-type="nav" track-name="close" track-metadata-eventdetail="#" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav">close</button> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://cloud.google.com/" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Home </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/free" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/free" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Free Trial and Free Tier </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/architecture" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/architecture" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Architecture Center </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/blog" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/blog" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Blog </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/contact" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/contact" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Contact Sales </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/developers" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/developers" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Developer Center </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/" track-type="nav" track-metadata-eventdetail="https://developers.google.com/" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Developer Center </div> </a> </li> <li class="devsite-nav-item"> <a href="https://console.cloud.google.com/marketplace" track-type="nav" track-metadata-eventdetail="https://console.cloud.google.com/marketplace" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Marketplace </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/marketplace/docs" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/marketplace/docs" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Marketplace Documentation </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.cloudskillsboost.google/paths" track-type="nav" track-metadata-eventdetail="https://www.cloudskillsboost.google/paths" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Skills Boost </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/solutions" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/solutions" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Solution Center </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/support-hub" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/support-hub" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Support </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.youtube.com/@googlecloudtech" track-type="nav" track-metadata-eventdetail="https://www.youtube.com/@googlecloudtech" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Tech Youtube Channel </div> </a> </li> </ul> </div> </div> </div> </tab> </nav> </cloudx-tabs-nav> </div> <devsite-search enable-signin enable-search enable-suggestions project-name="Ruby" tenant-name="Google Cloud" project-scope="/ruby/docs" url-scoped="https://cloud.google.com/s/results/ruby/docs" > <form class="devsite-search-form" action="https://cloud.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-product-id-row" hidden> <div class="devsite-product-description-row"> </div> </div> <div class="devsite-doc-set-nav-row"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://cloud.google.com/ruby" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Ruby" > Ruby </a> </li> </ul> <cloudx-tabs-nav class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://cloud.google.com/ruby/docs" track-metadata-eventdetail="https://cloud.google.com/ruby/docs" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" > Overview </a> </tab> <tab class="devsite-active"> <a href="https://cloud.google.com/ruby/docs/setup" track-metadata-eventdetail="https://cloud.google.com/ruby/docs/setup" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" > Guides </a> </tab> <tab > <a href="https://cloud.google.com/ruby/docs/reference" track-metadata-eventdetail="https://cloud.google.com/ruby/docs/reference" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" > Reference </a> </tab> <tab > <a href="https://cloud.google.com/docs/samples/?language=ruby" track-metadata-eventdetail="https://cloud.google.com/docs/samples/?language=ruby" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - samples" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" > Samples </a> </tab> </nav> </cloudx-tabs-nav> <div class="devsite-product-button-row"> <a href="https://cloud.google.com/contact" class="cta-button-secondary button " data-overflow="devsite-tabs-wrapper" track-metadata-position="nav" track-name="sales" track-type="contact" data-overflow-container="left" track-metadata-eventDetail="nav" data-overflow-wrapper="tab" >Contact Us</a> <a href="//console.cloud.google.com/freetrial" class="cloud-free-trial-button cta-button-primary button-primary button cloud-button cloud-button--primary " track-type="freeTrial" track-metadata-position="nav" track-metadata-eventDetail="nav" data-overflow-container="right" track-name="gcpCta" data-overflow-class="devsite-header-link devsite-top-button button cloud-free-trial-button cloud-free-trial-enabled cloud-button cloud-button--primary" data-overflow="devsite-top-logo-row" referrerpolicy="no-referrer-when-downgrade" >Start free</a> </div> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="googleCloud" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/cloud-logo.svg" class="devsite-site-logo" alt="Google Cloud"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/docs" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Documentation" track-name="docs-home" track-link-column-type="single-column" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Documentation" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Documentation </span> </a> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/ruby/docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/ruby/docs/setup" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/ruby/docs/reference" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/samples/?language=ruby" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Samples </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/docs/tech-area-overviews" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Technology areas" track-name="technology-areas" track-link-column-type="single-column" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Technology areas" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Technology areas </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Technology areas" track-name="technology-areas" track-link-column-type="single-column" > <span class="devsite-nav-text" tooltip menu="Technology areas"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Technology areas"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/docs/cross-product-overviews" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Cross-product tools" track-name="crossproduct" track-link-column-type="single-column" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Cross-product tools" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Cross-product tools </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Cross-product tools" track-name="crossproduct" track-link-column-type="single-column" > <span class="devsite-nav-text" tooltip menu="Cross-product tools"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Cross-product tools"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Related sites" track-name="related-sites" track-link-column-type="single-column" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Related sites" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Related sites </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Related sites" track-name="related-sites" track-link-column-type="single-column" > <span class="devsite-nav-text" tooltip menu="Related sites"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Related sites"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="//console.cloud.google.com/" class="devsite-nav-title gc-analytics-event " track-metadata-eventDetail="nav" referrerpolicy="no-referrer-when-downgrade" track-name="console" track-type="globalNav" track-metadata-position="nav" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Console" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Console </span> </a> </li> <li class="devsite-nav-item"> <a href="/contact" class="cta-button-secondary button" data-overflow="devsite-tabs-wrapper" track-metadata-position="nav" track-name="sales" track-type="contact" data-overflow-container="left" track-metadata-eventDetail="nav" data-overflow-wrapper="tab" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Contact Us" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Contact Us </span> </a> </li> <li class="devsite-nav-item"> <a href="//console.cloud.google.com/freetrial" class="cloud-free-trial-button cta-button-primary button-primary button cloud-button cloud-button--primary" track-type="freeTrial" track-metadata-position="nav" track-metadata-eventDetail="nav" data-overflow-container="right" track-name="gcpCta" data-overflow-class="devsite-header-link devsite-top-button button cloud-free-trial-button cloud-free-trial-enabled cloud-button cloud-button--primary" data-overflow="devsite-top-logo-row" referrerpolicy="no-referrer-when-downgrade" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Start free" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Start free </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Getting started</span> </div></li> <li class="devsite-nav-item"><a href="/ruby/docs/setup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/docs/setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/docs/setup" ><span class="devsite-nav-text" tooltip>Setting up a Ruby development environment</span></a></li> <li class="devsite-nav-item"><a href="/ruby/getting-started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/getting-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/getting-started" ><span class="devsite-nav-text" tooltip>Getting started with Ruby</span></a></li> <li class="devsite-nav-item"><a href="/ruby/getting-started/supported-ruby-versions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/getting-started/supported-ruby-versions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/getting-started/supported-ruby-versions" ><span class="devsite-nav-text" tooltip>Supported Ruby versions</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Start by use case</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/appengine/docs/flexible/ruby/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /appengine/docs/flexible/ruby/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/appengine/docs/flexible/ruby/quickstart" ><span class="devsite-nav-text" tooltip>Deploying apps to the App Engine flexible environment</span></a></li><li class="devsite-nav-item"><a href="/ruby/getting-started/getting-started-on-compute-engine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/getting-started/getting-started-on-compute-engine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/getting-started/getting-started-on-compute-engine" ><span class="devsite-nav-text" tooltip>Deploying apps to Compute Engine</span></a></li><li class="devsite-nav-item"><a href="/kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" ><span class="devsite-nav-text" tooltip>Deploying apps to Kubernetes Engine</span></a></li><li class="devsite-nav-item"><a href="/run/docs/quickstarts/build-and-deploy/deploy-ruby-service" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /run/docs/quickstarts/build-and-deploy/deploy-ruby-service" track-type="bookNav" track-name="click" track-metadata-eventdetail="/run/docs/quickstarts/build-and-deploy/deploy-ruby-service" ><span class="devsite-nav-text" tooltip>Deploy a Ruby service to Cloud Run</span></a></li><li class="devsite-nav-item"><a href="/functions/docs/create-deploy-http-ruby" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /functions/docs/create-deploy-http-ruby" track-type="bookNav" track-name="click" track-metadata-eventdetail="/functions/docs/create-deploy-http-ruby" ><span class="devsite-nav-text" tooltip>Create and deploy a HTTP Cloud Function by using Ruby</span></a></li><li class="devsite-nav-item"><a href="/bigquery/bigquery-api-quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /bigquery/bigquery-api-quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/bigquery/bigquery-api-quickstart" ><span class="devsite-nav-text" tooltip>Analyzing big data with BigQuery</span></a></li><li class="devsite-nav-item"><a href="/endpoints/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /endpoints/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/endpoints/docs" ><span class="devsite-nav-text" tooltip>Managing an API with Cloud Endpoints</span></a></li><li class="devsite-nav-item"><a href="/ruby/getting-started/session-handling-with-firestore" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/getting-started/session-handling-with-firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/getting-started/session-handling-with-firestore" ><span class="devsite-nav-text" tooltip>Handling sessions with Firestore</span></a></li><li class="devsite-nav-item"><a href="/ruby/getting-started/authenticate-users-with-iap" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/getting-started/authenticate-users-with-iap" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/getting-started/authenticate-users-with-iap" ><span class="devsite-nav-text" tooltip>Authenticating users with IAP</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Official tutorials and solutions</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/tutorials#ruby" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/tutorials#ruby" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/tutorials#ruby" ><span class="devsite-nav-text" tooltip>All Ruby tutorials</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Ruby on Rails</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/ruby/rails" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/rails" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/rails" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/ruby/rails/run" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/rails/run" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/rails/run" ><span class="devsite-nav-text" tooltip>Rails 6 on Cloud Run</span></a></li><li class="devsite-nav-item"><a href="/ruby/rails/appengine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/rails/appengine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/rails/appengine" ><span class="devsite-nav-text" tooltip>Rails 7 on App Engine</span></a></li><li class="devsite-nav-item"><a href="/ruby/rails/using-cloudsql-mysql" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/rails/using-cloudsql-mysql" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/rails/using-cloudsql-mysql" ><span class="devsite-nav-text" tooltip>Rails 7 using Cloud SQL for MySQL on App Engine</span></a></li><li class="devsite-nav-item"><a href="/ruby/rails/using-cloudsql-postgres" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/rails/using-cloudsql-postgres" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/rails/using-cloudsql-postgres" ><span class="devsite-nav-text" tooltip>Rails 7 using Cloud SQL for PostgreSQL on App Engine</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>App development</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Running apps</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/choosing-a-compute-option" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/choosing-a-compute-option" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/choosing-a-compute-option" ><span class="devsite-nav-text" tooltip>Choosing a computing option</span></a></li><li class="devsite-nav-item"><a href="/appengine/docs/flexible/ruby/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /appengine/docs/flexible/ruby/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/appengine/docs/flexible/ruby/quickstart" ><span class="devsite-nav-text" tooltip>App Engine flexible environment</span></a></li><li class="devsite-nav-item"><a href="/ruby/getting-started/getting-started-on-compute-engine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby/getting-started/getting-started-on-compute-engine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby/getting-started/getting-started-on-compute-engine" ><span class="devsite-nav-text" tooltip>Compute Engine</span></a></li><li class="devsite-nav-item"><a href="/kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" ><span class="devsite-nav-text" tooltip>Google Kubernetes Engine</span></a></li><li class="devsite-nav-item"><a href="/run/docs/quickstarts/prebuilt-deploy" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /run/docs/quickstarts/prebuilt-deploy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/run/docs/quickstarts/prebuilt-deploy" ><span class="devsite-nav-text" tooltip>Cloud Run</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Storing data</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/storing-your-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storing-your-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storing-your-data" ><span class="devsite-nav-text" tooltip>Choosing a storage option</span></a></li><li class="devsite-nav-item"><a href="/bigtable/docs/apis" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /bigtable/docs/apis" track-type="bookNav" track-name="click" track-metadata-eventdetail="/bigtable/docs/apis" ><span class="devsite-nav-text" tooltip>Cloud Bigtable</span></a></li><li class="devsite-nav-item"><a href="/datastore/docs/reference/libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /datastore/docs/reference/libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/datastore/docs/reference/libraries" ><span class="devsite-nav-text" tooltip>Cloud Datastore</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/firestore/docs/apis" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /firestore/docs/apis" track-type="bookNav" track-name="click" track-metadata-eventdetail="/firestore/docs/apis" ><span class="devsite-nav-text" tooltip>Cloud Firestore</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/spanner/docs/reference/libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /spanner/docs/reference/libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/spanner/docs/reference/libraries" ><span class="devsite-nav-text" tooltip>Cloud Spanner</span></a></li><li class="devsite-nav-item"><a href="/sql/docs/mysql/connect-app-engine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /sql/docs/mysql/connect-app-engine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/sql/docs/mysql/connect-app-engine" ><span class="devsite-nav-text" tooltip>Cloud SQL (MySQL)</span></a></li><li class="devsite-nav-item"><a href="/sql/docs/postgres/connect-app-engine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /sql/docs/postgres/connect-app-engine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/sql/docs/postgres/connect-app-engine" ><span class="devsite-nav-text" tooltip>Cloud SQL (PostgreSQL)</span></a></li><li class="devsite-nav-item"><a href="/storage/docs/reference/libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage/docs/reference/libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage/docs/reference/libraries" ><span class="devsite-nav-text" tooltip>Cloud Storage</span></a></li><li class="devsite-nav-item"><a href="/docs/tutorials#storage" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/tutorials#storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/tutorials#storage" ><span class="devsite-nav-text" tooltip>Storage solutions</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Debugging</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/stackdriver/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stackdriver/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stackdriver/docs" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/debugger/docs/setup/ruby" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /debugger/docs/setup/ruby" track-type="bookNav" track-name="click" track-metadata-eventdetail="/debugger/docs/setup/ruby" ><span class="devsite-nav-text" tooltip>Debugging Ruby apps in production</span></a></li><li class="devsite-nav-item"><a href="/error-reporting/docs/setup/ruby" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /error-reporting/docs/setup/ruby" track-type="bookNav" track-name="click" track-metadata-eventdetail="/error-reporting/docs/setup/ruby" ><span class="devsite-nav-text" tooltip>Reporting errors in Ruby apps</span></a></li><li class="devsite-nav-item"><a href="/logging/docs/setup/ruby" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /logging/docs/setup/ruby" track-type="bookNav" track-name="click" track-metadata-eventdetail="/logging/docs/setup/ruby" ><span class="devsite-nav-text" tooltip>Logging in Ruby apps</span></a></li><li class="devsite-nav-item"><a href="/monitoring/docs/reference/libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /monitoring/docs/reference/libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/monitoring/docs/reference/libraries" ><span class="devsite-nav-text" tooltip>Monitoring Ruby apps</span></a></li><li class="devsite-nav-item"><a href="/trace/docs/setup/ruby" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /trace/docs/setup/ruby" track-type="bookNav" track-name="click" track-metadata-eventdetail="/trace/docs/setup/ruby" ><span class="devsite-nav-text" tooltip>Tracing requests in Ruby apps</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Developer tools</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/products/tools" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /products/tools" track-type="bookNav" track-name="click" track-metadata-eventdetail="/products/tools" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/sdk/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /sdk/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/sdk/docs" ><span class="devsite-nav-text" tooltip>gcloud CLI</span></a></li><li class="devsite-nav-item"><a href="/code/docs/intellij" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /code/docs/intellij" track-type="bookNav" track-name="click" track-metadata-eventdetail="/code/docs/intellij" ><span class="devsite-nav-text" tooltip>Cloud Code for IntelliJ</span></a></li><li class="devsite-nav-item"><a href="/code/docs/vscode" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /code/docs/vscode" track-type="bookNav" track-name="click" track-metadata-eventdetail="/code/docs/vscode" ><span class="devsite-nav-text" tooltip>Cloud Code for VS Code</span></a></li><li class="devsite-nav-item"><a href="/artifact-registry/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /artifact-registry/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/artifact-registry/docs" ><span class="devsite-nav-text" tooltip>Artifact Registry</span></a></li><li class="devsite-nav-item"><a href="/build/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /build/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/build/docs" ><span class="devsite-nav-text" tooltip>Cloud Build</span></a></li><li class="devsite-nav-item"><a href="/source-repositories/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /source-repositories/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/source-repositories/docs" ><span class="devsite-nav-text" tooltip>Cloud Source Repositories</span></a></li><li class="devsite-nav-item"><a href="/apis/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /apis/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/apis/docs" ><span class="devsite-nav-text" tooltip>Cloud APIs</span></a></li><li class="devsite-nav-item"><a href="/shell/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /shell/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/shell/docs" ><span class="devsite-nav-text" tooltip>Cloud Shell</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Authentication</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication" ><span class="devsite-nav-text" tooltip>Authentication methods</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Ways to authenticate</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/client-libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/client-libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/client-libraries" ><span class="devsite-nav-text" tooltip>Authenticate for using client libraries</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/gcloud" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/gcloud" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/gcloud" ><span class="devsite-nav-text" tooltip>Authenticate for using the gcloud CLI</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/rest" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/rest" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/rest" ><span class="devsite-nav-text" tooltip>Authenticate for using REST</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/use-service-account-impersonation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/use-service-account-impersonation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/use-service-account-impersonation" ><span class="devsite-nav-text" tooltip>Authenticate by using service account impersonation</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Application Default Credentials</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/provide-credentials-adc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/provide-credentials-adc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/provide-credentials-adc" ><span class="devsite-nav-text" tooltip>Set up Application Default Credentials</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/application-default-credentials" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/application-default-credentials" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/application-default-credentials" ><span class="devsite-nav-text" tooltip>How Application Default Credentials works</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/troubleshoot-adc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/troubleshoot-adc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/troubleshoot-adc" ><span class="devsite-nav-text" tooltip>Troubleshoot your ADC setup</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>API keys</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/api-keys-use" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys-use" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys-use" ><span class="devsite-nav-text" tooltip>Use API keys to access APIs</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/api-keys" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys" ><span class="devsite-nav-text" tooltip>Manage API keys</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/api-keys-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys-best-practices" ><span class="devsite-nav-text" tooltip>Best practices for managing API keys</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/docs/authentication/get-id-token" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/get-id-token" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/get-id-token" ><span class="devsite-nav-text" tooltip>Get an ID token</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/token-types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/token-types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/token-types" ><span class="devsite-nav-text" tooltip>Token types</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Big data and machine learning</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Big data</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/products/big-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /products/big-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/products/big-data" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/bigquery/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /bigquery/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/bigquery/docs/quickstarts" ><span class="devsite-nav-text" tooltip>BigQuery</span></a></li><li class="devsite-nav-item"><a href="/composer/docs/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /composer/docs/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/composer/docs/quickstart" ><span class="devsite-nav-text" tooltip>Cloud Composer</span></a></li><li class="devsite-nav-item"><a href="/dataflow/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dataflow/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dataflow/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Dataflow</span></a></li><li class="devsite-nav-item"><a href="/dataproc/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dataproc/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dataproc/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Dataproc</span></a></li><li class="devsite-nav-item"><a href="/datalab/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /datalab/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/datalab/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Datalab</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Pub/Sub</span></a></li><li class="devsite-nav-item"><a href="/hadoop" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /hadoop" track-type="bookNav" track-name="click" track-metadata-eventdetail="/hadoop" ><span class="devsite-nav-text" tooltip>Hadoop on Google Cloud</span></a></li><li class="devsite-nav-item"><a href="/architecture?category=bigdataandanalytics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /architecture?category=bigdataandanalytics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/architecture?category=bigdataandanalytics" ><span class="devsite-nav-text" tooltip>Big data solutions</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Machine learning</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/products/machine-learning" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /products/machine-learning" track-type="bookNav" track-name="click" track-metadata-eventdetail="/products/machine-learning" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/ml-engine/docs/tensorflow/getting-started-keras" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ml-engine/docs/tensorflow/getting-started-keras" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ml-engine/docs/tensorflow/getting-started-keras" ><span class="devsite-nav-text" tooltip>AI Platform training and prediction</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/data-labeling/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /data-labeling/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/data-labeling/docs" ><span class="devsite-nav-text" tooltip>AI Platform Data Labeling Service</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/ai-platform/deep-learning-containers/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ai-platform/deep-learning-containers/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ai-platform/deep-learning-containers/docs" ><span class="devsite-nav-text" tooltip>AI Platform Deep Learning Containers</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/ai-platform/notebooks/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ai-platform/notebooks/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ai-platform/notebooks/docs" ><span class="devsite-nav-text" tooltip>AI Platform Notebooks</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/natural-language/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /natural-language/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/natural-language/docs/quickstarts" ><span class="devsite-nav-text" tooltip>AutoML Natural Language API</span></a></li><li class="devsite-nav-item"><a href="/vision/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vision/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vision/docs/quickstarts" ><span class="devsite-nav-text" tooltip>AutoML Vision API</span></a></li><li class="devsite-nav-item"><a href="/talent-solution/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /talent-solution/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/talent-solution/docs" ><span class="devsite-nav-text" tooltip>Cloud Talent Solution</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/tpu/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /tpu/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/tpu/docs" ><span class="devsite-nav-text" tooltip>Cloud TPU</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/translate/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /translate/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/translate/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Cloud Translation API</span></a></li><li class="devsite-nav-item"><a href="/dialogflow/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dialogflow/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dialogflow/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Dialogflow</span></a></li><li class="devsite-nav-item"><a href="/architecture?category=aiandmachinelearning" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /architecture?category=aiandmachinelearning" track-type="bookNav" track-name="click" track-metadata-eventdetail="/architecture?category=aiandmachinelearning" ><span class="devsite-nav-text" tooltip>Machine learning solutions</span></a></li><li class="devsite-nav-item"><a href="/speech-to-text/docs/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /speech-to-text/docs/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/speech-to-text/docs/quickstart" ><span class="devsite-nav-text" tooltip>Speech-to-Text API</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/text-to-speech/docs/quickstart-protocol" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /text-to-speech/docs/quickstart-protocol" track-type="bookNav" track-name="click" track-metadata-eventdetail="/text-to-speech/docs/quickstart-protocol" ><span class="devsite-nav-text" tooltip>Text-to-Speech API</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/video-intelligence/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /video-intelligence/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/video-intelligence/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Video Intelligence API</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>IoT</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/iot/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /iot/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/iot/docs" ><span class="devsite-nav-text" tooltip>Cloud IoT Core</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Infrastructure and operations</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Compute and containers</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/hosting-options" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /hosting-options" track-type="bookNav" track-name="click" track-metadata-eventdetail="/hosting-options" ><span class="devsite-nav-text" tooltip>Choosing a hosting option</span></a></li><li class="devsite-nav-item"><a href="/compute/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /compute/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/compute/docs" ><span class="devsite-nav-text" tooltip>Compute Engine</span></a></li><li class="devsite-nav-item"><a href="/kubernetes-engine/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kubernetes-engine/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kubernetes-engine/docs" ><span class="devsite-nav-text" tooltip>Google Kubernetes Engine</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Networking</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/products/networking" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /products/networking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/products/networking" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>VPC network</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/vpc/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vpc/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vpc/docs" ><span class="devsite-nav-text" tooltip>VPC networks</span></a></li><li class="devsite-nav-item"><a href="/compute/docs/ip-addresses" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /compute/docs/ip-addresses" track-type="bookNav" track-name="click" track-metadata-eventdetail="/compute/docs/ip-addresses" ><span class="devsite-nav-text" tooltip>External IP addresses</span></a></li><li class="devsite-nav-item"><a href="/vpc/docs/firewalls" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vpc/docs/firewalls" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vpc/docs/firewalls" ><span class="devsite-nav-text" tooltip>Firewall rules</span></a></li><li class="devsite-nav-item"><a href="/vpc/docs/routes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vpc/docs/routes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vpc/docs/routes" ><span class="devsite-nav-text" tooltip>Routes</span></a></li><li class="devsite-nav-item"><a href="/vpc/docs/vpc-peering" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vpc/docs/vpc-peering" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vpc/docs/vpc-peering" ><span class="devsite-nav-text" tooltip>VPC Network Peering</span></a></li><li class="devsite-nav-item"><a href="/vpc/docs/shared-vpc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vpc/docs/shared-vpc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vpc/docs/shared-vpc" ><span class="devsite-nav-text" tooltip>Shared VPC overview</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Network services</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/load-balancing/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /load-balancing/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/load-balancing/docs" ><span class="devsite-nav-text" tooltip>Load balancing</span></a></li><li class="devsite-nav-item devsite-nav-alpha"><a href="/network-tiers/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-tiers/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-tiers/docs" ><span class="devsite-nav-text" tooltip>Network service tiers</span><span class="devsite-nav-icon material-icons" data-icon="alpha" data-title="Alpha" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/dns/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dns/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dns/docs" ><span class="devsite-nav-text" tooltip>Cloud DNS</span></a></li><li class="devsite-nav-item"><a href="/cdn/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /cdn/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/cdn/docs" ><span class="devsite-nav-text" tooltip>Cloud CDN</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Hybrid connectivity</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/network-connectivity/docs/vpn" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/vpn" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/vpn" ><span class="devsite-nav-text" tooltip>Cloud VPN</span></a></li><li class="devsite-nav-item"><a href="/network-connectivity/docs/interconnect" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/interconnect" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/interconnect" ><span class="devsite-nav-text" tooltip>Cloud Interconnect</span></a></li><li class="devsite-nav-item"><a href="/network-connectivity/docs/router" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/router" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/router" ><span class="devsite-nav-text" tooltip>Cloud Router</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Network security</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/armor/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /armor/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/armor/docs" ><span class="devsite-nav-text" tooltip>Google Cloud Armor</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>External peering</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/network-connectivity/docs/direct-peering" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/direct-peering" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/direct-peering" ><span class="devsite-nav-text" tooltip>Direct Peering</span></a></li><li class="devsite-nav-item"><a href="/network-connectivity/docs/carrier-peering" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/carrier-peering" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/carrier-peering" ><span class="devsite-nav-text" tooltip>Carrier Peering</span></a></li><li class="devsite-nav-item"><a href="/network-connectivity/docs/cdn-interconnect" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/cdn-interconnect" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/cdn-interconnect" ><span class="devsite-nav-text" tooltip>CDN Interconnect</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/architecture?category=networking" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /architecture?category=networking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/architecture?category=networking" ><span class="devsite-nav-text" tooltip>Networking solutions</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Operations</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/endpoints/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /endpoints/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/endpoints/docs" ><span class="devsite-nav-text" tooltip>Cloud Endpoints</span></a></li><li class="devsite-nav-item"><a href="/security-scanner/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security-scanner/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security-scanner/docs" ><span class="devsite-nav-text" tooltip>Cloud Security Scanner</span></a></li><li class="devsite-nav-item"><a href="/debugger/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /debugger/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/debugger/docs" ><span class="devsite-nav-text" tooltip>Cloud Debugger</span></a></li><li class="devsite-nav-item"><a href="/error-reporting/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /error-reporting/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/error-reporting/docs" ><span class="devsite-nav-text" tooltip>Error Reporting</span></a></li><li class="devsite-nav-item"><a href="/logging/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /logging/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/logging/docs" ><span class="devsite-nav-text" tooltip>Cloud Logging</span></a></li><li class="devsite-nav-item"><a href="/monitoring/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /monitoring/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/monitoring/docs" ><span class="devsite-nav-text" tooltip>Cloud Monitoring</span></a></li><li class="devsite-nav-item"><a href="/profiler/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /profiler/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/profiler/docs" ><span class="devsite-nav-text" tooltip>Cloud Profiler</span></a></li><li class="devsite-nav-item"><a href="/trace/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /trace/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/trace/docs" ><span class="devsite-nav-text" tooltip>Cloud Trace</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Identity and security</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Authentication</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication" ><span class="devsite-nav-text" tooltip>Authentication methods</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Ways to authenticate</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/client-libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/client-libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/client-libraries" ><span class="devsite-nav-text" tooltip>Authenticate for using client libraries</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/gcloud" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/gcloud" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/gcloud" ><span class="devsite-nav-text" tooltip>Authenticate for using the gcloud CLI</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/rest" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/rest" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/rest" ><span class="devsite-nav-text" tooltip>Authenticate for using REST</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/use-service-account-impersonation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/use-service-account-impersonation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/use-service-account-impersonation" ><span class="devsite-nav-text" tooltip>Authenticate by using service account impersonation</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Application Default Credentials</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/provide-credentials-adc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/provide-credentials-adc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/provide-credentials-adc" ><span class="devsite-nav-text" tooltip>Set up Application Default Credentials</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/application-default-credentials" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/application-default-credentials" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/application-default-credentials" ><span class="devsite-nav-text" tooltip>How Application Default Credentials works</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/troubleshoot-adc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/troubleshoot-adc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/troubleshoot-adc" ><span class="devsite-nav-text" tooltip>Troubleshoot your ADC setup</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>API keys</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/api-keys-use" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys-use" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys-use" ><span class="devsite-nav-text" tooltip>Use API keys to access APIs</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/api-keys" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys" ><span class="devsite-nav-text" tooltip>Manage API keys</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/api-keys-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys-best-practices" ><span class="devsite-nav-text" tooltip>Best practices for managing API keys</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/docs/authentication/get-id-token" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/get-id-token" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/get-id-token" ><span class="devsite-nav-text" tooltip>Get an ID token</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/token-types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/token-types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/token-types" ><span class="devsite-nav-text" tooltip>Token types</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/iam/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /iam/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/iam/docs" ><span class="devsite-nav-text" tooltip>Identity and Access Management</span></a></li><li class="devsite-nav-item"><a href="/iap/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /iap/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/iap/docs" ><span class="devsite-nav-text" tooltip>Identity-Aware Proxy</span></a></li><li class="devsite-nav-item"><a href="/kms/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kms/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kms/docs" ><span class="devsite-nav-text" tooltip>Cloud Key Management Service</span></a></li><li class="devsite-nav-item"><a href="/security-command-center/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security-command-center/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security-command-center/docs" ><span class="devsite-nav-text" tooltip>Cloud Security Command Center</span></a></li><li class="devsite-nav-item"><a href="/security-scanner/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security-scanner/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security-scanner/docs" ><span class="devsite-nav-text" tooltip>Cloud Security Scanner</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/binary-authorization/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /binary-authorization/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/binary-authorization/docs" ><span class="devsite-nav-text" tooltip>Binary Authorization</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/dlp/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dlp/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dlp/docs" ><span class="devsite-nav-text" tooltip>Cloud Data Loss Prevention</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Shielded Cloud</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/security/shielded-cloud/shielded-vm" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/shielded-cloud/shielded-vm" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/shielded-cloud/shielded-vm" ><span class="devsite-nav-text" tooltip>Shielded VM</span></a></li><li class="devsite-nav-item"><a href="/security/shielded-cloud/creating-shielded-images" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/shielded-cloud/creating-shielded-images" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/shielded-cloud/creating-shielded-images" ><span class="devsite-nav-text" tooltip>Creating custom shielded images</span></a></li><li class="devsite-nav-item"><a href="/security/shielded-cloud/retrieving-endorsement-key" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/shielded-cloud/retrieving-endorsement-key" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/shielded-cloud/retrieving-endorsement-key" ><span class="devsite-nav-text" tooltip>Retrieving endorsement key information</span></a></li><li class="devsite-nav-item"><a href="/security/shielded-cloud/automating-responses-integrity-failures" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/shielded-cloud/automating-responses-integrity-failures" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/shielded-cloud/automating-responses-integrity-failures" ><span class="devsite-nav-text" tooltip>Automating responses to integrity validation failures</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/security/data-loss-prevention/preventing-data-exfiltration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/data-loss-prevention/preventing-data-exfiltration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/data-loss-prevention/preventing-data-exfiltration" ><span class="devsite-nav-text" tooltip>Preventing data exfiltration</span></a></li><li class="devsite-nav-item"><a href="/security/compromised-credentials" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/compromised-credentials" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/compromised-credentials" ><span class="devsite-nav-text" tooltip>Handling compromised Google Cloud credentials</span></a></li><li class="devsite-nav-item"><a href="/security/data-loss-prevention/revoking-user-access" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/data-loss-prevention/revoking-user-access" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/data-loss-prevention/revoking-user-access" ><span class="devsite-nav-text" tooltip>Best practices for revoking access</span></a></li><li class="devsite-nav-item"><a href="/security/key-management-deep-dive" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/key-management-deep-dive" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/key-management-deep-dive" ><span class="devsite-nav-text" tooltip>Cloud Key Management Service deep dive</span></a></li><li class="devsite-nav-item"><a href="/solutions/securing-gcp-account-security-keys" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /solutions/securing-gcp-account-security-keys" track-type="bookNav" track-name="click" track-metadata-eventdetail="/solutions/securing-gcp-account-security-keys" ><span class="devsite-nav-text" tooltip>Securing your account with security keys</span></a></li><li class="devsite-nav-item"><a href="/solutions/connecting-securely" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /solutions/connecting-securely" track-type="bookNav" track-name="click" track-metadata-eventdetail="/solutions/connecting-securely" ><span class="devsite-nav-text" tooltip>Securely connecting to VM instances</span></a></li><li class="devsite-nav-item"><a href="/resource-manager/docs/organization-policy/develop-apps-constrained-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /resource-manager/docs/organization-policy/develop-apps-constrained-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/resource-manager/docs/organization-policy/develop-apps-constrained-environment" ><span class="devsite-nav-text" tooltip>Develop applications in a constrained environment</span></a></li><li class="devsite-nav-item"><a href="/security/security-design" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/security-design" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/security-design" ><span class="devsite-nav-text" tooltip>Google infrastructure security</span></a></li><li class="devsite-nav-item"><a href="/security/beyondprod" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/beyondprod" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/beyondprod" ><span class="devsite-nav-text" tooltip>BeyondProd: Cloud-native security</span></a></li><li class="devsite-nav-item"><a href="/security/binary-authorization-for-borg" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/binary-authorization-for-borg" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/binary-authorization-for-borg" ><span class="devsite-nav-text" tooltip>Binary Authorization for Borg</span></a></li><li class="devsite-nav-item"><a href="/security" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security" ><span class="devsite-nav-text" tooltip>Google Cloud security overview</span></a></li><li class="devsite-nav-item"><a href="/docs/tutorials#security" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/tutorials#security" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/tutorials#security" ><span class="devsite-nav-text" tooltip>Security solutions</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Resource management</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/deployment-manager/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /deployment-manager/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/deployment-manager/overview" ><span class="devsite-nav-text" tooltip>Cloud Deployment Manager</span></a></li><li class="devsite-nav-item"><a href="/marketplace/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /marketplace/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/marketplace/docs" ><span class="devsite-nav-text" tooltip>Google Cloud Marketplace</span></a></li><li class="devsite-nav-item"><a href="/resource-manager/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /resource-manager/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/resource-manager/docs" ><span class="devsite-nav-text" tooltip>Resource Manager</span></a></li><li class="devsite-nav-item"><a href="/docs/tutorials#resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/tutorials#resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/tutorials#resource" ><span class="devsite-nav-text" tooltip>Resource management solutions</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Other supported languages</span> </div></li> <li class="devsite-nav-item"><a href="/dotnet" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dotnet" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dotnet" ><span class="devsite-nav-text" tooltip>C#</span></a></li> <li class="devsite-nav-item"><a href="/go" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /go" track-type="bookNav" track-name="click" track-metadata-eventdetail="/go" ><span class="devsite-nav-text" tooltip>Go</span></a></li> <li class="devsite-nav-item"><a href="/java" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /java" track-type="bookNav" track-name="click" track-metadata-eventdetail="/java" ><span class="devsite-nav-text" tooltip>Java</span></a></li> <li class="devsite-nav-item"><a href="/nodejs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /nodejs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/nodejs" ><span class="devsite-nav-text" tooltip>Node.js</span></a></li> <li class="devsite-nav-item"><a href="/php" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /php" track-type="bookNav" track-name="click" track-metadata-eventdetail="/php" ><span class="devsite-nav-text" tooltip>PHP</span></a></li> <li class="devsite-nav-item"><a href="/python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python" ><span class="devsite-nav-text" tooltip>Python</span></a></li> </ul> <ul class="devsite-nav-list" menu="Technology areas" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/docs/ai-ml" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: AI and ML" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > AI and ML </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/application-development" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Application development" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Application development </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/application-hosting" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Application hosting" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Application hosting </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/compute-area" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Compute" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Compute </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/data" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Data analytics and pipelines" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Data analytics and pipelines </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/databases" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Databases" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Databases </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/dhm-cloud" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Distributed, hybrid, and multicloud" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Distributed, hybrid, and multicloud </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/generative-ai" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Generative AI" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Generative AI </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/industry" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Industry solutions" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Industry solutions </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/networking" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Networking" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Networking </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/observability" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Observability and monitoring" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Observability and monitoring </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/security" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Security" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Security </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/storage" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Storage" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Storage </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Cross-product tools" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/docs/access-resources" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Access and resources management" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Access and resources management </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/costs-usage" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Costs and usage management" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Costs and usage management </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/devtools" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud SDK, languages, frameworks, and tools" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud SDK, languages, frameworks, and tools </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/iac" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Infrastructure as code" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Infrastructure as code </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/migration" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Migration" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Migration </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Related sites" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Home" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Home </span> </a> </li> <li class="devsite-nav-item"> <a href="/free" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Free Trial and Free Tier" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Free Trial and Free Tier </span> </a> </li> <li class="devsite-nav-item"> <a href="/architecture" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Architecture Center" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Architecture Center </span> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/blog" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Blog" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Blog </span> </a> </li> <li class="devsite-nav-item"> <a href="/contact" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Contact Sales" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Contact Sales </span> </a> </li> <li class="devsite-nav-item"> <a href="/developers" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Developer Center" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Developer Center </span> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Developer Center" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Developer Center </span> </a> </li> <li class="devsite-nav-item"> <a href="https://console.cloud.google.com/marketplace" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Marketplace" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Marketplace </span> </a> </li> <li class="devsite-nav-item"> <a href="/marketplace/docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Marketplace Documentation" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Marketplace Documentation </span> </a> </li> <li class="devsite-nav-item"> <a href="https://www.cloudskillsboost.google/paths" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Skills Boost" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Skills Boost </span> </a> </li> <li class="devsite-nav-item"> <a href="/solutions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Solution Center" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Solution Center </span> </a> </li> <li class="devsite-nav-item"> <a href="/support-hub" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Support" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Support </span> </a> </li> <li class="devsite-nav-item"> <a href="https://www.youtube.com/@googlecloudtech" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Tech Youtube Channel" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Tech Youtube Channel </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav has-sidebar > <div class="devsite-sidebar"> <div class="devsite-sidebar-content"> <devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars ></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div> <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://cloud.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Cloud" > Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://cloud.google.com/ruby" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="Ruby" > Ruby </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://cloud.google.com/ruby/docs" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="Ruby" > Documentation </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://cloud.google.com/ruby/docs/setup" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="" > Guides </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="Ruby" product-id="1632431" bucket="documentation" context="" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/favicons/onecloud/super_cloud.png" > <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1"> Setting up a Ruby development environment </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <div class="silver-lang getting-started"> <p>This tutorial shows how to prepare your local machine for <a href="https://www.ruby-lang.org/" track-type="ruby" track-name="internalLink" track-metadata-position="body">Ruby</a> development, including developing Ruby apps that run on Google Cloud. Follow this tutorial to install Ruby and relevant tools.</p> <p>Read <a href="/ruby/getting-started/hello-world" track-type="ruby" track-name="internalLink" track-metadata-position="body">Quickstart for Ruby and Google Cloud</a> to get an overview of Ruby and learn ways to run Ruby apps on Google Cloud.</p> <h2 id="objectives" data-text="Objectives" tabindex="-1">Objectives</h2> <ul> <li>Install Ruby.</li> <li>Install Bundler.</li> <li>Install an editor (optional).</li> <li>Install the Google Cloud CLI.</li> <li>Install the Cloud Client Libraries for Ruby.</li> <li>Set up authentication.</li> </ul> <h2 id="install_ruby" data-text="Install Ruby" tabindex="-1">Install Ruby</h2> <p>Ruby&#39;s installation instructions vary by operating system. Follow the guide for the operating system you&#39;re using on your local development machine. This tutorial applies to stable and non-end-of-life (EOL) Ruby versions listed on <a href="https://www.ruby-lang.org/en/downloads/" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">Ruby-lang</a>.</p> <h3 id="macos" data-text="macOS" tabindex="-1">macOS</h3> <p>We recommend using <a href="https://github.com/rbenv/rbenv" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external"><code translate="no" dir="ltr">rbenv</code></a> to manage your Ruby installations on macOS. <code translate="no" dir="ltr">rbenv</code> manages multiple Ruby version installations on your machine and a rbenv plugin named <a href="https://github.com/rbenv/ruby-build#readme" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external"><code translate="no" dir="ltr">ruby-build</code></a> adds support to <code translate="no" dir="ltr">rbenv</code> to install a specified version of Ruby.</p> <p>While macOS includes a version of Ruby by default, it&#39;s best to perform a separate install of the latest versions of Ruby to stay up-to-date and avoid conflicts with the operating system&#39;s use of its default version.</p> <ol> <li>Install <a href="https://itunes.apple.com/us/app/xcode/id497799835?mt=12" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">XCode</a>.</li> <li><p>Install <a href="https://developer.apple.com/library/content/technotes/tn2339/_index.html" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">XCode&#39;s command line tools</a> by using the following command in a terminal:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">xcode-select --install </code></pre></li> <li><p>Install <code translate="no" dir="ltr">homebrew</code> by following the instructions on the <a href="https://brew.sh/" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">homebrew homepage</a>.</p></li> <li><p>Install <code translate="no" dir="ltr">rbenv</code> by using <code translate="no" dir="ltr">homebrew</code>, following the instructions in the <a href="https://github.com/rbenv/rbenv#installation" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">rbenv readme</a>. The homebrew installation includes the <code translate="no" dir="ltr">ruby-build</code> plugin.</p></li> </ol> <p>Learn more about <a href="https://github.com/rbenv/ruby-build#usage" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">using rbenv</a> and <code translate="no" dir="ltr">ruby-build</code> to install different versions of Ruby.</p> <h3 id="linux-instructions" data-text="Linux" tabindex="-1">Linux</h3> <p>We recommend using <a href="https://github.com/rbenv/rbenv" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external"><code translate="no" dir="ltr">rbenv</code></a> to manage your Ruby installations on Linux distributions. <code translate="no" dir="ltr">rbenv</code> manages multiple Ruby version installations on your machine and a <code translate="no" dir="ltr">rbenv</code> plugin named <a href="https://github.com/rbenv/ruby-build#readme" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external"><code translate="no" dir="ltr">ruby-build</code></a> adds support to <code translate="no" dir="ltr">rbenv</code> to install a specified version of Ruby.</p> <ol> <li><p>Install <code translate="no" dir="ltr">rbenv</code> on your Linux distribution by using the <a href="https://github.com/rbenv/rbenv#installation" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external"><code translate="no" dir="ltr">rbenv</code> readme</a>.</p></li> <li><p>Install the <code translate="no" dir="ltr">ruby-build</code> plugin for <code translate="no" dir="ltr">rbenv</code> by using the instructions in the <a href="https://github.com/rbenv/ruby-build#installation" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external"><code translate="no" dir="ltr">ruby-build</code> readme</a>.</p></li> </ol> <p>Learn more about <a href="https://github.com/rbenv/ruby-build#usage" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">using <code translate="no" dir="ltr">rbenv</code></a> and <code translate="no" dir="ltr">ruby-build</code> to install different versions of Ruby.</p> <h3 id="windows" data-text="Windows" tabindex="-1">Windows</h3> <p>For Windows, we recommend one of the following:</p> <ul> <li><a href="https://rubyinstaller.org/" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">RubyInstaller</a> </li> <li><a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" track-type="ruby" track-name="externalLink" track-metadata-position="body" track-type="ruby" track-name="internalLink" track-metadata-position="body" class="external">Install a Windows subsystem for Linux</a>.</li> </ul> <h2 id="install_bundler" data-text="Install Bundler" tabindex="-1">Install Bundler</h2> <p><a href="https://bundler.io/" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">Bundler</a> is a Ruby gem that manages project gem dependencies defined in a file named <code translate="no" dir="ltr">Gemfile</code>. The Ruby samples in Google Cloud&#39;s documentation use <code translate="no" dir="ltr">Gemfile</code> files to specify required gems and versions.</p> <ol> <li><p>Install Bundler.</p> <pre class="devsite-click-to-copy" translate="no" dir="ltr"> gem install bundler </pre></li> <li><p>Install <code translate="no" dir="ltr">gem</code> dependencies defined in the <code translate="no" dir="ltr">Gemfile</code>.</p> <pre class="devsite-click-to-copy" translate="no" dir="ltr"> bundle install </pre></li> <li><p>Run your Ruby project only using gems defined in your <code translate="no" dir="ltr">Gemfile</code>.</p> <pre class="devsite-click-to-copy" translate="no" dir="ltr"> bundle exec ruby app.rb </pre></li> </ol> <p>Learn more about creating a <code translate="no" dir="ltr">Gemfile</code> by reading <a href="http://bundler.io/v1.16/man/gemfile.5.html" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">Bundler documentation</a>.</p> <h2 id="install_an_editor" data-text="Install an editor" tabindex="-1">Install an editor</h2> <p>Popular editors (in no particular order) used to develop Ruby apps include, but aren&#39;t limited to:</p> <ul> <li><a href="https://www.sublimetext.com/" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">Sublime Text</a> by Jon Skinner</li> <li><a href="https://atom.io/" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">Atom</a> by GitHub</li> <li><a href="https://www.jetbrains.com/ruby/" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">RubyMine</a> by JetBrains</li> <li><a href="http://www.vim.org/" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">Vim</a> by Vim the editor</li> </ul> <p>These editors (sometimes with the help of plugins) give you everything from syntax highlighting, intelli-sense, and code completion to fully integrated debugging capabilities, maximizing your Ruby development efficacy.</p> <h2 id="install_the_cloud_sdk" data-text="Install the gcloud CLI" tabindex="-1">Install the gcloud CLI</h2> <p>The <a href="/sdk" track-type="ruby" track-name="internalLink" track-metadata-position="body">gcloud CLI</a> is a set of tools for Google Cloud. It contains <code translate="no" dir="ltr">gcloud</code> and <code translate="no" dir="ltr">bq</code>, which you can use to access Compute Engine, Cloud Storage, BigQuery, and other products and services from the command line. You can run these tools interactively or in your automated scripts.</p> <p>As an example, here is a simple command that deploys a Ruby web app to the App Engine flexible environment. After deployment, App Engine attempts to start the app with <code translate="no" dir="ltr">bundle exec ruby app.rb -p 8080</code>:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">gcloud app deploy </code></pre> <p>Learn how to <a href="/ruby/rails" track-type="ruby" track-name="internalLink" track-metadata-position="body">deploy a Ruby on Rails</a> app to the App Engine flexible environment.</p> <h2 id="install_the_cloud_client_library_for_ruby" data-text="Install the Cloud Client Library for Ruby" tabindex="-1">Install the Cloud Client Library for Ruby</h2> <p>The <a href="https://googleapis.github.io/google-cloud-ruby/docs" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">Cloud Client Library for Ruby</a> is the idiomatic way for Ruby developers to integrate with Google Cloud services. You can install the package for an individual API, such as Cloud Storage for example:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">gem install google-cloud-storage </code></pre> <p>You can also use Bundler and add the gem to your <code translate="no" dir="ltr">Gemfile</code> dependencies, for example:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">bundle add google-cloud-storage </code></pre> <h2 id="set_up_authentication" data-text="Set up authentication" tabindex="-1">Set up authentication</h2> <p>To use the Cloud Client Libraries in a local development environment, set up Application Default Credentials.</p> <p> If you're using a local shell, then create local authentication credentials for your user account: </p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash">gcloud<span class="devsite-syntax-w"> </span>auth<span class="devsite-syntax-w"> </span>application-default<span class="devsite-syntax-w"> </span>login</pre></devsite-code> <p>You don't need to do this if you're using Cloud Shell.</p> <p>For more information, see <a href="/docs/authentication/client-libraries" track-type="ruby" track-name="authDocsLink" track-metadata-position="body">Authenticate for using client libraries</a>.</p> <h2 id="whats_next" data-text="What's next" tabindex="-1">What's next</h2> <ul> <li>Browse the <a href="/products" track-type="ruby" track-name="internalLink" track-metadata-position="body">documentation for Google Cloud products</a>.</li> <li>Clone the <a href="https://github.com/GoogleCloudPlatform/ruby-docs-samples" track-type="ruby" track-name="externalLink" track-metadata-position="body" class="external">Ruby samples repository from GitHub</a>.</li> <li>Explore <a href="/community/tutorials?q=%ruby%22" track-type="ruby" track-name="internalLink" track-metadata-position="body">Ruby tutorials submitted by the community</a>.</li> <li>Learn to <a href="/ruby/rails" track-type="ruby" track-name="internalLink" track-metadata-position="body">deploy Ruby on Rails to Google App Engine flexible environment</a>.</li> </ul> </div> <devsite-hats-survey class="nocontent" hats-id="Nd7nTix2o0eU5NUYprb0ThtUc5jf" listnr-id="83405"></devsite-hats-survey> </div> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Ruby" product-id="1632431" bucket="documentation" context="" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/favicons/onecloud/super_cloud.png" > <button> Send feedback </button> </devsite-feedback> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2024-11-26 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="Ruby" product-id="1632431" bucket="documentation" context="" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/favicons/onecloud/super_cloud.png" > <button> Need to tell us more? </button> </devsite-feedback> </template> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-26 UTC."],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Why Google</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/why-google-cloud/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-metadata-child_headline="why google"track-type="footer link"track-metadata-module="footer"track-name="choosing google cloud"track-metadata-eventDetail="cloud.google.com/why-google-cloud/"track-metadata-position="footer"> Choosing Google Cloud </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/trust-center/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" track-metadata-eventDetail="cloud.google.com/security/"track-type="footer link"track-name="trust and security"track-metadata-child_headline="why google"track-metadata-module="footer"track-metadata-position="footer"> Trust and security </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/modern-infrastructure/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-metadata-position="footer"track-metadata-module="footer"track-type="footer link"track-metadata-child_headline="why google"track-metadata-eventDetail="cloud.google.com/solutions/modern-infrastructure/"track-name="modern infrastructure cloud"> Modern Infrastructure Cloud </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/multicloud/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" track-name="multicloud"track-metadata-eventDetail="cloud.google.com/multicloud/"track-metadata-module="footer"track-type="footer link"track-metadata-child_headline="why google"track-metadata-position="footer"> Multicloud </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/infrastructure/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" track-name="global infrastructure"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/infrastructure/"track-type="footer link"track-metadata-child_headline="why google"track-metadata-position="footer"> Global infrastructure </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/customers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" track-metadata-eventDetail="cloud.google.com/customers/"track-metadata-module="footer"track-name="customers and case studies"track-metadata-child_headline="why google"track-metadata-position="footer"track-type="footer link"> Customers and case studies </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/analyst-reports/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" track-metadata-module="footer"track-name="analyst reports"track-metadata-eventDetail="cloud.google.com/analyst-reports/"track-metadata-position="footer"track-type="footer link"track-metadata-child_headline="why google"> Analyst reports </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/whitepapers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-name="whitepapers"track-metadata-position="footer"track-metadata-child_headline="why google"track-metadata-eventDetail="cloud.google.com/whitepapers/"track-type="footer link"track-metadata-module="footer"> Whitepapers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//cloud.google.com/blog/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 9)" track-metadata-module="footer"track-name="blog"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/blog/"track-metadata-child_headline="engage"track-type="footer link"> Blog </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Products and pricing</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/pricing/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-metadata-module="footer"track-metadata-child_headline="products and pricing"track-name="google cloud pricing"track-type="footer link"track-metadata-eventDetail="cloud.google.com/pricing/"track-metadata-position="footer"> Google Cloud pricing </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//workspace.google.com/pricing.html" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" target="_blank"track-metadata-module="footer"track-metadata-eventDetail="workspace.google.com/pricing.html"track-metadata-child_headline="products and pricing"track-type="footer link"track-metadata-position="footer"track-name="google workspace pricing"> Google Workspace pricing </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/products/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-metadata-child_headline="products and pricing"track-name="see all products"track-metadata-module="footer"track-metadata-position="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/products/"> See all products </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Solutions</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/solutions/infrastructure-modernization/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-metadata-module="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/solutions/infrastructure-modernization/"track-metadata-child_headline="solutions"track-name="infrastructure modernization"track-metadata-position="footer"> Infrastructure modernization </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/databases/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" track-name="databases"track-type="footer link"track-metadata-child_headline="solutions"track-metadata-module="footer"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/solutions/databases"> Databases </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/application-modernization/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-metadata-child_headline="solutions"track-type="footer link"track-name="application development"track-metadata-position="footer"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/solutions/application-modernization/"> Application modernization </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/smart-analytics/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" track-type="footer link"track-metadata-eventDetail="cloud.google.com/solutions/smart-analytics/"track-metadata-position="footer"track-name="smart analytics"track-metadata-module="footer"track-metadata-child_headline="solutions"> Smart analytics </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/ai/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" track-type="footer link"track-metadata-child_headline="solutions"track-metadata-eventDetail="cloud.google.com/solutions/ai/"track-metadata-position="footer"track-metadata-module="footer"track-name="artificial intelligence"> Artificial Intelligence </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/security/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" track-type="footer link"track-metadata-position="footer"track-metadata-child_headline="solutions"track-metadata-module="footer"track-name="security"track-metadata-eventDetail="cloud.google.com/solutions/security/"> Security </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://workspace.google.com/enterprise/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" track-metadata-position="footer"track-metadata-module="footer"track-metadata-eventDetail="workspace.google.com/enterprise/"track-name="productivity and work transformation"track-type="footer link"track-metadata-child_headline="solutions"target="_blank"> Productivity & work transformation </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/#industry-solutions" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-name="industry solutions"track-metadata-child_headline="solutions"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/solutions/#industry-solutions"track-type="footer link"track-metadata-position="footer"> Industry solutions </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/devops/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 9)" track-metadata-module="footer"track-metadata-position="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/solutions/devops/"track-name="devops solutions"track-metadata-child_headline="solutions"> DevOps solutions </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/#section-14" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 10)" track-type="footer link"track-metadata-position="footer"track-metadata-child_headline="solutions"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/solutions/#section-14"track-name="small business solutions"> Small business solutions </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 11)" track-metadata-module="footer"track-metadata-position="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/solutions/"track-metadata-child_headline="solutions"track-name="see all solutions"> See all solutions </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Resources</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/affiliate-program/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-name="google cloud affiliate program"track-type="footer link"track-metadata-module="footer"track-metadata-position="footer"track-metadata-child_headline="resources"track-metadata-eventDetail="cloud.google.com/affiliate-program/"> Google Cloud Affiliate Program </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/docs/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" track-metadata-position="footer"track-metadata-child_headline="resources"track-name="google cloud documentation"track-metadata-eventDetail="cloud.google.com/docs/"track-metadata-module="footer"track-type="footer link"> Google Cloud documentation </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/docs/get-started/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-name="google cloud quickstarts"track-metadata-eventDetail="cloud.google.com/docs/get-started/"track-metadata-module="footer"track-metadata-child_headline="resources"track-type="footer link"track-metadata-position="footer"> Google Cloud quickstarts </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/marketplace/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" track-metadata-child_headline="resources"track-type="footer link"track-metadata-position="footer"track-name="google cloud marketplace"track-metadata-eventDetail="cloud.google.com/marketplace/"track-metadata-module="footer"> Google Cloud Marketplace </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/discover/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" track-metadata-child_headline="resources"track-metadata-eventDetail="learn/"track-name="learn about cloud computing"track-metadata-module="footer"track-metadata-position="footer"track-type="footer link"> Learn about cloud computing </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/support-hub/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" track-metadata-module="footer"track-type="footer link"track-name="support"track-metadata-eventDetail="cloud.google.com/support-hub/"track-metadata-child_headline="resources"track-metadata-position="footer"> Support </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/docs/samples" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" track-metadata-eventDetail="cloud.google.com/docs/samples"track-metadata-position="footer"track-type="footer link"track-name="code samples"track-metadata-child_headline="resources"track-metadata-module="footer"> Code samples </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/architecture/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-type="footer link"track-name="cloud architecture center"track-metadata-child_headline="resources"track-metadata-module="footer"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/architecture/"> Cloud Architecture Center </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/learn/training/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 9)" track-type="footer link"track-metadata-eventDetail="cloud.google.com/training/"track-metadata-module="footer"track-name="training"track-metadata-position="footer"track-metadata-child_headline="resources"> Training </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/learn/certification/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 10)" track-name="certifications"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/certification"track-metadata-position="footer"track-type="footer link"track-metadata-child_headline="resources"> Certifications </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//developers.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 11)" track-metadata-child_headline="resources"track-name="google developers"track-metadata-position="footer"target="_blank"track-metadata-module="footer"track-metadata-eventDetail="developers.google.com"track-type="footer link"> Google for Developers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/startup/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 12)" track-metadata-child_headline="resources"track-metadata-module="footer"track-name="google cloud for startups"track-metadata-position="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/startup/"> Google Cloud for Startups </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//status.cloud.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 13)" target="_blank"track-type="footer link"track-name="system status"track-metadata-module="footer"track-metadata-eventDetail="status.cloud.google.com"track-metadata-child_headline="resources"track-metadata-position="footer"> System status </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/release-notes" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 14)" track-metadata-child_headline="resources"track-metadata-eventDetail="cloud.google.com/release-notes/"track-name="release notes"track-type="footer link"track-metadata-module="footer"track-metadata-position="footer"> Release Notes </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Engage</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/contact/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-metadata-child_headline="engage"track-metadata-eventDetail="cloud.google.com/contact/"track-metadata-module="footer"track-name="contact sales"track-type="footer link"track-metadata-position="footer"> Contact sales </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//cloud.google.com/find-a-partner" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" target="_blank"track-type="footer link"track-metadata-child_headline="engage"track-metadata-eventDetail="cloud.google.com/find-a-partner"track-metadata-module="footer"track-name="find a partner"track-metadata-position="footer"> Find a Partner </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/partners/become-a-partner/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-type="footer link"track-metadata-module="footer"track-metadata-position="footer"track-name="become a partner"track-metadata-eventDetail="cloud.google.com/partners/become-a-partner/"track-metadata-child_headline="engage"> Become a Partner </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/events/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" track-metadata-position="footer"track-metadata-eventDetail="cloud.withgoogle.com/events"track-metadata-child_headline="engage"track-metadata-module="footer"track-type="footer link"track-name="events"> Events </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/podcasts/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" track-metadata-eventDetail="cloud.google.com/podcasts/"track-metadata-position="footer"track-metadata-module="footer"rel="noopener"track-metadata-child_headline="engage"track-type="footer link"track-name="podcasts"target="_blank"> Podcasts </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/developers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" track-metadata-position="footer"track-metadata-module="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/developers/"track-name="developer center"track-metadata-child_headline="engage"> Developer Center </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.googlecloudpresscorner.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" track-metadata-eventDetail="www.googlecloudpresscorner.com"track-metadata-position="footer"track-type="footer link"target="_blank"rel="noopener"track-metadata-child_headline="engage"track-metadata-module="footer"track-name="press corner"> Press Corner </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/googlecloud" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-type="footer link"track-name="google cloud on youtube"track-metadata-eventDetail="www.youtube.com/googlecloud"track-metadata-child_headline="engage"track-metadata-position="footer"target="_blank"track-metadata-module="footer"rel="noopener"> Google Cloud on YouTube </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/googlecloudplatform" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 9)" track-metadata-eventDetail="www.youtube.com/googlecloudplatform"rel="noopener"track-type="footer link"track-name="google cloud tech on youtube"track-metadata-position="footer"track-metadata-child_headline="engage"target="_blank"track-metadata-module="footer"> Google Cloud Tech on YouTube </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//x.com/googlecloud" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 10)" track-metadata-module="footer"rel="noopener"track-metadata-eventDetail="x.com/googlecloud"track-metadata-position="footer"track-metadata-child_headline="engage"track-name="follow on x"track-type="footer link"target="_blank"> Follow on X </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//userresearch.google.com/?reserved=1&amp;utm_source=website&amp;Q_Language=en&amp;utm_medium=own_srch&amp;utm_campaign=CloudWebFooter&amp;utm_term=0&amp;utm_content=0&amp;productTag=clou&amp;campaignDate=jul19&amp;pType=devel&amp;referral_code=jk212693" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 11)" track-metadata-child_headline="engage"track-metadata-module="footer"track-type="footer link"track-name="join user research"track-metadata-position="footer"target="_blank"track-metadata-eventDetail="userresearch.google.com/?reserved=1&amp;utm_source=website&amp;Q_Language=en&amp;utm_medium=own_srch&amp;utm_campaign=CloudWebFooter&amp;utm_term=0&amp;utm_content=0&amp;productTag=clou&amp;campaignDate=jul19&amp;pType=devel&amp;referral_code=jk212693"> Join User Research </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//careers.google.com/cloud" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 12)" track-metadata-position="footer"track-name="we are hiring join google cloud"track-metadata-eventDetail="careers.google.com/cloud"track-metadata-module="footer"track-metadata-child_headline="engage"target="_blank"track-type="footer link"> We're hiring. Join Google Cloud! </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.googlecloudcommunity.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 13)" track-metadata-child_headline="engage"track-metadata-eventDetail="www.googlecloudcommunity.com"track-metadata-position="footer"rel="noopener"track-type="footer link"track-metadata-module="footer"track-name="google cloud community"target="_blank"> Google Cloud Community </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//about.google/" data-category="Site-Wide Custom Events" data-label="Footer About Google link" track-metadata-position="footer" track-metadata-module="utility footer" track-type="footer link" target="_blank" track-metadata-eventDetail="//about.google/" track-name="about google" > About Google </a> </li> <li class="devsite-footer-utility-item devsite-footer-privacy-link"> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" target="_blank" track-name="privacy" track-metadata-position="footer" track-type="footer link" track-metadata-eventDetail="//policies.google.com/privacy" track-metadata-module="utility footer" > Privacy </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//www.google.com/intl/en/policies/terms/regional.html" data-category="Site-Wide Custom Events" data-label="Footer Site terms link" track-type="footer link" track-metadata-eventDetail="//www.google.com/intl/en/policies/terms/regional.html" target="_blank" track-metadata-position="footer" track-name="site terms" track-metadata-module="utility footer" > Site terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/product-terms/" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud terms link" track-name="google cloud terms" track-metadata-module="utility footer" track-metadata-position="footer" track-metadata-eventDetail="/product-terms/" track-type="footer link" > Google Cloud terms </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" track-metadata-module="utility footer" aria-hidden="true" track-metadata-position="footer" track-type="footer link" track-metadata-eventDetail="#" track-name="Manage cookies" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-carbon-button"> <a class="devsite-footer-utility-link gc-analytics-event" href="/sustainability" data-category="Site-Wide Custom Events" data-label="Footer Our third decade of climate action: join us link" track-metadata-eventDetail="/sustainability/" track-type="footer link" track-metadata-position="footer" track-name="Our third decade of climate action: join us" track-metadata-module="utility footer" > Our third decade of climate action: join us </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google Cloud newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" track-metadata-position="footer" track-name="subscribe" track-metadata-module="utility footer" track-metadata-eventDetail="/newsletter/" track-type="footer link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[]</script> <script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [], &#34;ga4p&#34;: [], &#34;gtm&#34;: [{&#34;id&#34;: &#34;GTM-5CVQBG&#34;, &#34;purpose&#34;: 1}], &#34;parameters&#34;: {&#34;internalUser&#34;: &#34;False&#34;, &#34;language&#34;: {&#34;machineTranslated&#34;: &#34;False&#34;, &#34;requested&#34;: &#34;en&#34;, &#34;served&#34;: &#34;en&#34;}, &#34;pageType&#34;: &#34;article&#34;, &#34;projectName&#34;: &#34;Ruby&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;cloud&#34;, &#34;recommendations&#34;: {&#34;sourcePage&#34;: &#34;&#34;, &#34;sourceType&#34;: 0, &#34;sourceRank&#34;: 0, &#34;sourceIdenticalDescriptions&#34;: 0, &#34;sourceTitleWords&#34;: 0, &#34;sourceDescriptionWords&#34;: 0, &#34;experiment&#34;: &#34;&#34;}, &#34;experiment&#34;: {&#34;ids&#34;: &#34;&#34;}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <cloudx-user></cloudx-user> <cloudx-free-trial-eligible-store freeTrialEligible='true'></cloudx-free-trial-eligible-store> <cloudx-pricing-socket></cloudx-pricing-socket> <cloudx-experiments type="TestAACodivertedExperiment" path="/virtual/TestAACodivertedExperiment/configureExperiment" location="SG" variant="variant2" ></cloudx-experiments> <cloudx-experiment-ids userCountry="SG" devsiteExperimentIdList="[39300012, 39300022, 39300118, 39300195, 39300251, 39300319, 39300322, 39300327, 39300345, 39300354, 39300363, 39300373, 39300412, 39300421, 39300436, 39300472, 39300487, 39300496, 39300498]"> </cloudx-experiment-ids> <script nonce="hIwH38QiQiN6HwMBJKtBFIhZ6qn4eh"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/js/app_loader.js', '[2,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud","https://cloud-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/cloud/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/favicons/onecloud/favicon.ico","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/cloud-logo.svg","https://fonts.googleapis.com/css?family=Google+Sans:400,500,700|Google+Sans+Text:400,400italic,500,500italic,700,700italic|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","cloud.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["Profiles__require_profile_eligibility_for_signin","Search__enable_ai_search_summaries_restricted","Cloud__enable_cloud_shell_fte_user_flow","MiscFeatureFlags__enable_view_transitions","Cloud__enable_cloud_dlp_service","Cloud__enable_cloud_shell","Cloud__enable_cloud_facet_chat","Profiles__enable_developer_profiles_callout","BookNav__enable_tenant_cache_key","Search__scope_to_project_tenant","DevPro__enable_cloud_innovators_plus","Concierge__enable_pushui","Analytics__enable_clearcut_logging","Experiments__reqs_query_experiments","Profiles__enable_recognition_badges","EngEduTelemetry__enable_engedu_telemetry","Profiles__enable_public_developer_profiles","MiscFeatureFlags__developers_footer_image","Search__enable_ai_search_summaries","MiscFeatureFlags__emergency_css","Profiles__enable_release_notes_notifications","Search__enable_dynamic_content_confidential_banner","MiscFeatureFlags__enable_firebase_utm","Search__enable_page_map","Cloud__enable_free_trial_server_call","MiscFeatureFlags__enable_project_variables","MiscFeatureFlags__enable_variable_operator","Profiles__enable_awarding_url","CloudShell__cloud_shell_button","MiscFeatureFlags__developers_footer_dark_image","DevPro__enable_developer_subscriptions","TpcFeatures__enable_required_headers","CloudShell__cloud_code_overflow_menu","Search__enable_ai_eligibility_checks","Cloud__enable_cloudx_experiment_ids","Profiles__enable_complete_playlist_endpoint","Cloud__enable_cloudx_ping","Profiles__enable_completecodelab_endpoint","Search__enable_suggestions_from_borg","TpcFeatures__enable_mirror_tenant_redirects","Profiles__enable_profile_collections","Cloud__enable_llm_concierge_chat","Profiles__enable_dashboard_curated_recommendations","Profiles__enable_page_saving","Cloud__enable_legacy_calculator_redirect","Concierge__enable_concierge_restricted","MiscFeatureFlags__enable_explain_this_code"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,1,"https://developerprofiles-pa.clients6.google.com",[2,"cloud","Google Cloud","cloud.google.com",null,"cloud-dot-devsite-v2-prod.appspot.com",null,null,[1,1,null,null,null,null,null,null,null,null,null,[1],null,null,null,null,null,1,[1],[null,null,null,[1,20],"/terms/recommendations"],[1],null,[1],[1,null,1],[1,1,null,null,1,null,["/vertex-ai/"]]],null,[22,null,null,null,null,null,"/images/cloud-logo.svg","/images/favicons/onecloud/apple-icon.png",null,null,null,null,1,1,1,[6,5],[],null,null,[[],[],[],[],[],[],[],[]],null,1,null,null,null,null,[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,22,23,29,37],null,[[null,null,null,null,null,null,[1,[["docType","Choose a content type",[["ApiReference",null,null,null,null,null,null,null,null,"API reference"],["Sample",null,null,null,null,null,null,null,null,"Code sample"],["ReferenceArchitecture",null,null,null,null,null,null,null,null,"Reference architecture"],["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"Artificial intelligence and machine learning (AI/ML)"],["ApplicationDevelopment",null,null,null,null,null,null,null,null,"Application development"],["BigDataAndAnalytics",null,null,null,null,null,null,null,null,"Big data and analytics"],["Compute",null,null,null,null,null,null,null,null,"Compute"],["Containers",null,null,null,null,null,null,null,null,"Containers"],["Databases",null,null,null,null,null,null,null,null,"Databases"],["HybridCloud",null,null,null,null,null,null,null,null,"Hybrid and multicloud"],["LoggingAndMonitoring",null,null,null,null,null,null,null,null,"Logging and monitoring"],["Migrations",null,null,null,null,null,null,null,null,"Migrations"],["Networking",null,null,null,null,null,null,null,null,"Networking"],["SecurityAndCompliance",null,null,null,null,null,null,null,null,"Security and compliance"],["Serverless",null,null,null,null,null,null,null,null,"Serverless"],["Storage",null,null,null,null,null,null,null,null,"Storage"]]]]]],[1],null,1],[[null,null,null,null,null,["GTM-5CVQBG"],null,null,null,null,null,[["GTM-5CVQBG",2]],1],null,null,null,null,null,1],"mwETRvWii0eU5NUYprb0Y9z5GVbc",4,null,null,null,null,null,null,null,null,null,null,null,null,null,"cloud.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10