CINXE.COM
BigQuery subscriptions | Pub/Sub Documentation | 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/pubsub/docs/bigquery"><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/pubsub/docs/bigquery" /><link rel="alternate" hreflang="x-default" href="https://cloud.google.com/pubsub/docs/bigquery" /><link rel="alternate" hreflang="zh-Hans" href="https://cloud.google.com/pubsub/docs/bigquery?hl=zh-cn" /><link rel="alternate" hreflang="fr" href="https://cloud.google.com/pubsub/docs/bigquery?hl=fr" /><link rel="alternate" hreflang="de" href="https://cloud.google.com/pubsub/docs/bigquery?hl=de" /><link rel="alternate" hreflang="id" href="https://cloud.google.com/pubsub/docs/bigquery?hl=id" /><link rel="alternate" hreflang="it" href="https://cloud.google.com/pubsub/docs/bigquery?hl=it" /><link rel="alternate" hreflang="ja" href="https://cloud.google.com/pubsub/docs/bigquery?hl=ja" /><link rel="alternate" hreflang="ko" href="https://cloud.google.com/pubsub/docs/bigquery?hl=ko" /><link rel="alternate" hreflang="pt-BR" href="https://cloud.google.com/pubsub/docs/bigquery?hl=pt-br" /><link rel="alternate" hreflang="es-419" href="https://cloud.google.com/pubsub/docs/bigquery?hl=es-419" /><title>BigQuery subscriptions | Pub/Sub Documentation | Google Cloud</title> <meta property="og:title" content="BigQuery subscriptions | Pub/Sub Documentation | Google Cloud"><meta name="description" content="Understand the properties of a moonrise-replacee2e0c9dfda2a4f86a7aa568de6aef38cmoonrise-replace subscription for moonrise-replace53a741cdbe344e968240b490da479fd2moonrise-replace."> <meta property="og:description" content="Understand the properties of a moonrise-replacee2e0c9dfda2a4f86a7aa568de6aef38cmoonrise-replace subscription for moonrise-replace53a741cdbe344e968240b490da479fd2moonrise-replace."><meta property="og:url" content="https://cloud.google.com/pubsub/docs/bigquery"><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": "BigQuery subscriptions" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Pub/Sub", "item": "https://cloud.google.com/pubsub" },{ "@type": "ListItem", "position": 2, "name": "Documentation", "item": "https://cloud.google.com/pubsub/docs" },{ "@type": "ListItem", "position": 3, "name": "BigQuery subscriptions", "item": "https://cloud.google.com/pubsub/docs/bigquery" }] } </script> <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="Pub/Sub Documentation" tenant-name="Google Cloud" project-scope="/pubsub/docs" url-scoped="https://cloud.google.com/s/results/pubsub/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="id" >Indonesia</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/pubsub" 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="Pub/Sub" > Pub/Sub </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/pubsub/docs" track-metadata-eventdetail="https://cloud.google.com/pubsub/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/pubsub/docs/overview" track-metadata-eventdetail="https://cloud.google.com/pubsub/docs/overview" 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/pubsub/docs/apis" track-metadata-eventdetail="https://cloud.google.com/pubsub/docs/apis" 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/pubsub/docs/samples" track-metadata-eventdetail="https://cloud.google.com/pubsub/docs/samples" 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> <tab > <a href="https://cloud.google.com/pubsub/docs/media" track-metadata-eventdetail="https://cloud.google.com/pubsub/docs/media" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - resources" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Resources" track-name="resources" > Resources </a> </tab> </nav> </cloudx-tabs-nav> <div class="devsite-product-button-row"> <a href="https://cloud.google.com/contact" class="cta-button-secondary button " track-metadata-position="nav" track-metadata-eventDetail="nav" data-overflow-container="left" data-overflow="devsite-tabs-wrapper" data-overflow-wrapper="tab" track-type="contact" track-name="sales" >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-name="gcpCta" data-overflow-container="right" track-metadata-position="nav" data-overflow="devsite-top-logo-row" track-metadata-eventDetail="nav" data-overflow-class="devsite-header-link devsite-top-button button cloud-free-trial-button cloud-free-trial-enabled cloud-button cloud-button--primary" 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="/pubsub/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="/pubsub/docs/overview" 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="/pubsub/docs/apis" 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="/pubsub/docs/samples" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " 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> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/pubsub/docs/media" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Resources" track-name="resources" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Resources" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Resources </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </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" track-metadata-position="nav" track-type="globalNav" referrerpolicy="no-referrer-when-downgrade" track-name="console" 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" track-metadata-position="nav" track-metadata-eventDetail="nav" data-overflow-container="left" data-overflow="devsite-tabs-wrapper" data-overflow-wrapper="tab" track-type="contact" track-name="sales" 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-name="gcpCta" data-overflow-container="right" track-metadata-position="nav" data-overflow="devsite-top-logo-row" track-metadata-eventDetail="nav" data-overflow-class="devsite-header-link devsite-top-button button cloud-free-trial-button cloud-free-trial-enabled cloud-button cloud-button--primary" 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>Discover</span> </div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/overview" ><span class="devsite-nav-text" tooltip>Product overview</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/choosing-pubsub-or-lite" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/choosing-pubsub-or-lite" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/choosing-pubsub-or-lite" ><span class="devsite-nav-text" tooltip>Choose Pub/Sub or Pub/Sub Lite</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/choosing-pubsub-or-cloud-tasks" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/choosing-pubsub-or-cloud-tasks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/choosing-pubsub-or-cloud-tasks" ><span class="devsite-nav-text" tooltip>Choose Pub/Sub or Cloud Tasks</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/architecture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/architecture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/architecture" ><span class="devsite-nav-text" tooltip>Pub/Sub architectural overview</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/reliability-intro" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/reliability-intro" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/reliability-intro" ><span class="devsite-nav-text" tooltip>Pub/Sub reliability</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/pubsub-lite-documentation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/pubsub-lite-documentation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/pubsub-lite-documentation" ><span class="devsite-nav-text" tooltip>Pub/Sub Lite documentation</span></a></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>Get started</span> </div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/pubsub-basics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/pubsub-basics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/pubsub-basics" ><span class="devsite-nav-text" tooltip>Pub/Sub service overview</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/publish-receive-messages-client-library" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/publish-receive-messages-client-library" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/publish-receive-messages-client-library" ><span class="devsite-nav-text" tooltip>Publish and subscribe with client libraries</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/publish-receive-messages-gcloud" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/publish-receive-messages-gcloud" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/publish-receive-messages-gcloud" ><span class="devsite-nav-text" tooltip>Publish and subscribe with the gcloud CLI</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/publish-receive-messages-console" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/publish-receive-messages-console" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/publish-receive-messages-console" ><span class="devsite-nav-text" tooltip>Publish and subscribe with the console</span></a></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>Secure and control access</span> </div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/authentication" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/authentication" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/authentication" ><span class="devsite-nav-text" tooltip>Authenticate to Pub/Sub</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/access-control" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/access-control" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/access-control" ><span class="devsite-nav-text" tooltip>Access control for Pub/Sub</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/encryption" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/encryption" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/encryption" ><span class="devsite-nav-text" tooltip>Configure message encryption</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/resource-location-restriction" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/resource-location-restriction" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/resource-location-restriction" ><span class="devsite-nav-text" tooltip>Configure message storage policies</span></a></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>Publish messages</span> </div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/publish-message-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/publish-message-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/publish-message-overview" ><span class="devsite-nav-text" tooltip>Publish message 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>Create a topic</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/create-topic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/create-topic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/create-topic" ><span class="devsite-nav-text" tooltip>Standard topic</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/create-aws-kinesis-import-topic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/create-aws-kinesis-import-topic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/create-aws-kinesis-import-topic" ><span class="devsite-nav-text" tooltip>Amazon Kinesis Data Streams import topic</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/create-cloud-storage-import-topic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/create-cloud-storage-import-topic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/create-cloud-storage-import-topic" ><span class="devsite-nav-text" tooltip>Cloud Storage import topic</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>Manage topics</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/change-topic-type" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/change-topic-type" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/change-topic-type" ><span class="devsite-nav-text" tooltip>Change topic type</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/delete-topic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/delete-topic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/delete-topic" ><span class="devsite-nav-text" tooltip>Delete topics</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/list-topics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/list-topics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/list-topics" ><span class="devsite-nav-text" tooltip>List topics</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/publisher" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/publisher" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/publisher" ><span class="devsite-nav-text" tooltip>Publish messages</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>Configure publishing options</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/compress-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/compress-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/compress-messages" ><span class="devsite-nav-text" tooltip>Compress messages</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/retry-requests" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/retry-requests" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/retry-requests" ><span class="devsite-nav-text" tooltip>Retry requests</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/flow-control-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/flow-control-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/flow-control-messages" ><span class="devsite-nav-text" tooltip>Flow control</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/concurrency-control-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/concurrency-control-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/concurrency-control-messages" ><span class="devsite-nav-text" tooltip>Concurrency control</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/batch-messaging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/batch-messaging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/batch-messaging" ><span class="devsite-nav-text" tooltip>Batch messaging</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>Use schemas</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/schemas" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/schemas" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/schemas" ><span class="devsite-nav-text" tooltip>Schema overview</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/create-schemas" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/create-schemas" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/create-schemas" ><span class="devsite-nav-text" tooltip>Create a schema</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/associate-schema-topic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/associate-schema-topic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/associate-schema-topic" ><span class="devsite-nav-text" tooltip>Associate a schema with a topic</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/publish-topics-schema" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/publish-topics-schema" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/publish-topics-schema" ><span class="devsite-nav-text" tooltip>Publish messages to a topic with a schema</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>Manage schemas</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/commit-schema-revision" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/commit-schema-revision" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/commit-schema-revision" ><span class="devsite-nav-text" tooltip>Commit a schema revision</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/delete-schema" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/delete-schema" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/delete-schema" ><span class="devsite-nav-text" tooltip>Delete a schema</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/delete-schema-revision" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/delete-schema-revision" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/delete-schema-revision" ><span class="devsite-nav-text" tooltip>Delete a schema revision</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/list-schemas" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/list-schemas" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/list-schemas" ><span class="devsite-nav-text" tooltip>List schemas</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/list-schema-revisions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/list-schema-revisions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/list-schema-revisions" ><span class="devsite-nav-text" tooltip>List revisions of a schema</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/roll-back-schemas" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/roll-back-schemas" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/roll-back-schemas" ><span class="devsite-nav-text" tooltip>Roll back a schema revision</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/view-schema-details" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/view-schema-details" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/view-schema-details" ><span class="devsite-nav-text" tooltip>View schema details</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/validate-schema-definition" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/validate-schema-definition" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/validate-schema-definition" ><span class="devsite-nav-text" tooltip>Validate a schema definition</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/validate-schema-message" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/validate-schema-message" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/validate-schema-message" ><span class="devsite-nav-text" tooltip>Validate a message for a schema</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/publish-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/publish-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/publish-best-practices" ><span class="devsite-nav-text" tooltip>Best practices for publishing</span></a></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>Receive messages</span> </div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/subscription-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/subscription-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/subscription-overview" ><span class="devsite-nav-text" tooltip>Subscription overview</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/subscriber" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/subscriber" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/subscriber" ><span class="devsite-nav-text" tooltip>Choose a subscription type</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>How subscriptions work</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/pull" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/pull" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/pull" ><span class="devsite-nav-text" tooltip>Pull subscriptions</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/push" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/push" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/push" ><span class="devsite-nav-text" tooltip>Push subscriptions</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/bigquery" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/bigquery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/bigquery" ><span class="devsite-nav-text" tooltip>BigQuery subscriptions</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/cloudstorage" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/cloudstorage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/cloudstorage" ><span class="devsite-nav-text" tooltip>Cloud Storage subscriptions</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>Create a subscription</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/create-subscription" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/create-subscription" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/create-subscription" ><span class="devsite-nav-text" tooltip>Pull subscription</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/create-push-subscription" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/create-push-subscription" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/create-push-subscription" ><span class="devsite-nav-text" tooltip>Push subscription</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/create-bigquery-subscription" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/create-bigquery-subscription" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/create-bigquery-subscription" ><span class="devsite-nav-text" tooltip>BigQuery subscription</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/create-cloudstorage-subscription" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/create-cloudstorage-subscription" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/create-cloudstorage-subscription" ><span class="devsite-nav-text" tooltip>Cloud Storage subscription</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>Manage subscriptions</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/manage-subscriptions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/manage-subscriptions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/manage-subscriptions" ><span class="devsite-nav-text" tooltip>Change subscription type</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/list-subscriptions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/list-subscriptions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/list-subscriptions" ><span class="devsite-nav-text" tooltip>List subscriptions</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/detach-subscriptions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/detach-subscriptions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/detach-subscriptions" ><span class="devsite-nav-text" tooltip>Detatch a subscription from a topic</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/delete-subscriptions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/delete-subscriptions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/delete-subscriptions" ><span class="devsite-nav-text" tooltip>Delete subscriptions</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>Configure delivery options</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/flow-control" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/flow-control" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/flow-control" ><span class="devsite-nav-text" tooltip>Flow control</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/handling-failures" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/handling-failures" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/handling-failures" ><span class="devsite-nav-text" tooltip>Handle message failures</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/replay-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/replay-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/replay-overview" ><span class="devsite-nav-text" tooltip>Replay and purge messages</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/lease-management" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/lease-management" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/lease-management" ><span class="devsite-nav-text" tooltip>Lease management</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/ordering" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/ordering" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/ordering" ><span class="devsite-nav-text" tooltip>Order messages</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/subscription-message-filter" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/subscription-message-filter" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/subscription-message-filter" ><span class="devsite-nav-text" tooltip>Filter messages</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/schemas-valid" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/schemas-valid" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/schemas-valid" ><span class="devsite-nav-text" tooltip>Validate schemas</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/exactly-once-delivery" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/exactly-once-delivery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/exactly-once-delivery" ><span class="devsite-nav-text" tooltip>Exactly-once delivery</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/concurrency-control" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/concurrency-control" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/concurrency-control" ><span class="devsite-nav-text" tooltip>Concurrency control</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/authenticate-push-subscriptions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/authenticate-push-subscriptions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/authenticate-push-subscriptions" ><span class="devsite-nav-text" tooltip>Authentication for push subscriptions</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/payload-unwrapping" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/payload-unwrapping" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/payload-unwrapping" ><span class="devsite-nav-text" tooltip>Payload unwrapping</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/subscribe-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/subscribe-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/subscribe-best-practices" ><span class="devsite-nav-text" tooltip>Best practices for subscribing</span></a></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>Monitor and audit</span> </div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/monitoring" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/monitoring" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/monitoring" ><span class="devsite-nav-text" tooltip>Monitor Pub/Sub in Cloud Monitoring</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/monitor-topic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/monitor-topic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/monitor-topic" ><span class="devsite-nav-text" tooltip>Monitor topics within Pub/Sub</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/monitor-subscription" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/monitor-subscription" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/monitor-subscription" ><span class="devsite-nav-text" tooltip>Monitor subscriptions within Pub/Sub</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/audit-logging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/audit-logging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/audit-logging" ><span class="devsite-nav-text" tooltip>View Pub/Sub audit logs</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/labels" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/labels" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/labels" ><span class="devsite-nav-text" tooltip>View Pub/Sub reports with labels</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/open-telemetry-tracing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/open-telemetry-tracing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/open-telemetry-tracing" ><span class="devsite-nav-text" tooltip>Use OpenTelemetry tracing</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/metrics-autoscaling-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/metrics-autoscaling-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/metrics-autoscaling-best-practices" ><span class="devsite-nav-text" tooltip>Best practices for metrics in scaling</span></a></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>Build Pub/Sub systems</span> </div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/building-pubsub-messaging-system" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/building-pubsub-messaging-system" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/building-pubsub-messaging-system" ><span class="devsite-nav-text" tooltip>Build a one-to-many Pub/Sub system</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/replay-message" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/replay-message" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/replay-message" ><span class="devsite-nav-text" tooltip>Replay messages with seek</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/migrating-from-kafka-to-pubsub" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/migrating-from-kafka-to-pubsub" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/migrating-from-kafka-to-pubsub" ><span class="devsite-nav-text" tooltip>Migrate from Kafka to Pub/Sub</span></a></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>Test and integrate</span> </div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/emulator" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/emulator" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/emulator" ><span class="devsite-nav-text" tooltip>Test locally with Pub/Sub emulator</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/connect_kafka" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/connect_kafka" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/connect_kafka" ><span class="devsite-nav-text" tooltip>Connect Pub/Sub to Apache Kafka</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/spring" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/spring" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/spring" ><span class="devsite-nav-text" tooltip>Pub/Sub in Spring applications</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/use-with-cloud-run" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/use-with-cloud-run" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/use-with-cloud-run" ><span class="devsite-nav-text" tooltip>Pub/Sub with Cloud Run</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>Integrate Pub/Sub with Cloud Functions</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/use-with-cloud-function-triggers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/use-with-cloud-function-triggers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/use-with-cloud-function-triggers" ><span class="devsite-nav-text" tooltip>Pub/Sub triggers in Cloud Functions</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/optical-character-recognition" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/optical-character-recognition" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/optical-character-recognition" ><span class="devsite-nav-text" tooltip>Optical Character Recognition (OCR)</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>Integrate Pub/Sub with Dataflow</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/stream-messages-dataflow" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/stream-messages-dataflow" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/stream-messages-dataflow" ><span class="devsite-nav-text" tooltip>Stream from Pub/Sub to Cloud Storage</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/stream-pubsub-bigquery" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/stream-pubsub-bigquery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/stream-pubsub-bigquery" ><span class="devsite-nav-text" tooltip>Stream from Pub/Sub to BigQuery</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/stream-processing-pubsub-dataflow" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/stream-processing-pubsub-dataflow" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/stream-processing-pubsub-dataflow" ><span class="devsite-nav-text" tooltip>Stream with Pub/Sub and Dataflow</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/pubsub-logs-to-splunk" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/pubsub-logs-to-splunk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/pubsub-logs-to-splunk" ><span class="devsite-nav-text" tooltip>Stream logs to Splunk using Pub/Sub and Dataflow</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/app-engine-writing-and-responding-to-pub-sub-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/app-engine-writing-and-responding-to-pub-sub-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/app-engine-writing-and-responding-to-pub-sub-messages" ><span class="devsite-nav-text" tooltip>Work with messages in App Engine</span></a></li> <li class="devsite-nav-item"><a href="/pubsub/docs/streaming-cloud-pub-sub-messages-over-websockets" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/streaming-cloud-pub-sub-messages-over-websockets" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/streaming-cloud-pub-sub-messages-over-websockets" ><span class="devsite-nav-text" tooltip>Stream Pub/Sub messages over WebSockets</span></a></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>Troubleshoot</span> </div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/troubleshooting" ><span class="devsite-nav-text" tooltip>General troubleshooting</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>Troubleshoot topics</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/topic-troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/topic-troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/topic-troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshoot standard topics</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/aws-kinesis-import-topic-troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/aws-kinesis-import-topic-troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/aws-kinesis-import-topic-troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshoot Amazon Kinesis Data Streams import topics</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/cloud-storage-import-topic-troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/cloud-storage-import-topic-troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/cloud-storage-import-topic-troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshoot Cloud Storage import topics</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/platform-logs-pubsub" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/platform-logs-pubsub" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/platform-logs-pubsub" ><span class="devsite-nav-text" tooltip>Use platform logs to troubleshoot Cloud Storage import topics</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>Troubleshoot subscriptions</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/pull-troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/pull-troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/pull-troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshoot pull subscriptions</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/push-troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/push-troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/push-troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshoot push subscriptions</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/payload-unwrapping-troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/payload-unwrapping-troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/payload-unwrapping-troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshoot push payload unwrapping</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/bigquery-troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/bigquery-troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/bigquery-troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshoot BigQuery subscriptions</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/cloudstorage-troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/cloudstorage-troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/cloudstorage-troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshoot Cloud Storage subscriptions</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>Troubleshoot with GCPDiag</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/pubsub/docs/gcpdiag-pull-troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/gcpdiag-pull-troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/gcpdiag-pull-troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshoot pull subscriptions with GCPDiag</span></a></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>Code samples</span> </div></li> <li class="devsite-nav-item"><a href="/pubsub/docs/samples" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/samples" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/samples" ><span class="devsite-nav-text" tooltip>Pub/Sub code samples</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/pubsub" 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="Pub/Sub" > Pub/Sub </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://cloud.google.com/pubsub/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="Pub/Sub Documentation" > 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/pubsub/docs/overview" 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="Pub/Sub Documentation" product-id="96707" 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-feedback-url="https://issuetracker.google.com/issues/new?component=187173&template=0" 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"> BigQuery subscriptions </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 "> <p>This document provides an overview of a BigQuery subscription, its workflow, and associated properties.</p> <p>A BigQuery subscription is a type of export subscription that writes messages to an existing BigQuery table as they are received. You don't need to configure a separate subscriber client. Use the Google Cloud console, the Google Cloud CLI, the client libraries, or the Pub/Sub API to create, update, list, detach, or delete a BigQuery subscription.</p> <aside class="key-point"><strong>Key Point:</strong><span> Understand the workflow for a BigQuery subscription and read about the permissions, properties, quotas, and pricing related to the subscription.</span></aside> <p>Without the BigQuery subscription type, you need a pull or push subscription and a subscriber (such as Dataflow) that reads messages and writes them to a BigQuery table. The overhead of running a Dataflow job is not necessary when messages don't require additional processing before storing them in a BigQuery table; you can use a BigQuery subscription instead.</p> <p>However, a Dataflow pipeline is still recommended for Pub/Sub systems where some data transformation is required before the data is stored in a BigQuery table. To learn how to stream data from Pub/Sub to BigQuery with transformation by using Dataflow, see Stream from <a href="/dataflow/docs/tutorials/dataflow-stream-to-bigquery">Pub/Sub to BigQuery</a>.</p> <p>The <a href="/dataflow/docs/guides/templates/provided/pubsub-subscription-to-bigquery"> Pub/Sub subscription to BigQuery template from Dataflow</a> enforces exactly once delivery by default. This is typically achieved through deduplication mechanisms within the Dataflow pipeline. However, the BigQuery subscription only supports at least once delivery. If exact deduplication is critical for your use case, consider downstream processes in BigQuery to handle potential duplicates.</p> <h2 id="before_you_begin" data-text="Before you begin" tabindex="-1">Before you begin</h2> <p>Before reading this document, ensure that you're familiar with the following:</p> <ul> <li><p>How <a href="/pubsub/docs/overview">Pub/Sub works</a> and the different Pub/Sub terms.</p></li> <li><p>The different <a href="/pubsub/docs/subscription-overview">kinds of subscriptions</a> that Pub/Sub supports and why you might want to use a BigQuery subscription.</p></li> <li><p>How <a href="/bigquery/docs">BigQuery</a> works and how to configure and manage BigQuery tables.</p></li> </ul> <h2 id="subscription_workflow" data-text="BigQuery subscription workflow" tabindex="-1">BigQuery subscription workflow</h2> <p>The following image shows the workflow between a BigQuery subscription and BigQuery.</p> <figure id="bigquery-subscriber"> <img src="/static/pubsub/images/subscriber_bigquery.png" alt="Flow of messages for a BigQuery subscription"> <figcaption><b>Figure 1.</b> Workflow for a BigQuery subscription</figcaption> </figure> <p>Here is a brief description of the workflow that references Figure 1:</p> <ol> <li>Pub/Sub uses the <a href="/bigquery/docs/write-api">BigQuery storage write API</a> to send data to the BigQuery table.</li> <li>The messages are sent in batches to the BigQuery table.</li> <li>After a successful completion of a write operation, the API returns an OK response.</li> <li>If there are any failures in the write operation, the Pub/Sub message itself is negatively acknowledged. The message is then re-sent. If the message fails enough times and there's a dead letter topic configured on the subscription, then the message is moved to the dead letter topic.</li> </ol> <h2 id="properties_subscription" data-text="Properties of a BigQuery subscription" tabindex="-1">Properties of a BigQuery subscription</h2> <p>The properties that you configure for a BigQuery subscription determine the BigQuery table to which Pub/Sub writes messages and the type of schema of that table.</p> <p>For more information, see <a href="/pubsub/docs/subscription-properties#bigquery">BigQuery properties</a>.</p> <h2 id="schema_compatibility" data-text="Schema compatibility" tabindex="-1">Schema compatibility</h2> <p>This section is only applicable if you select the option <a href="/pubsub/docs/subscription-properties#use-topic-schema"><strong>Use topic schema</strong></a> when you create a BigQuery subscription.</p> <p>Pub/Sub and BigQuery use different ways to define their schemas. Pub/Sub schemas are defined in <a href="/pubsub/docs/schemas#schema_types">Apache Avro or Protocol Buffer</a> format while BigQuery schemas are defined using a <a href="/bigquery/docs/schemas">variety of formats</a>.</p> <p>The following is a list of important information regarding the schema compatibility between a Pub/Sub topic and a BigQuery table.</p> <ul> <li><p>Any message that contains an improperly formatted field is not written to BigQuery.</p></li> <li><p>In the BigQuery schema, <code translate="no" dir="ltr">INT</code>, <code translate="no" dir="ltr">SMALLINT</code>, <code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">BIGINT</code>, <code translate="no" dir="ltr">TINYINT</code>, and <code translate="no" dir="ltr">BYTEINT</code> are aliases for <code translate="no" dir="ltr">INTEGER</code>; <code translate="no" dir="ltr">DECIMAL</code> is an alias for <code translate="no" dir="ltr">NUMERIC</code>; and <code translate="no" dir="ltr">BIGDECIMAL</code> is an alias for <code translate="no" dir="ltr">BIGNUMERIC</code>.</p></li> <li><p>When the type in the topic schema is a <code translate="no" dir="ltr">string</code> and the type in the BigQuery table is <code translate="no" dir="ltr">JSON</code>, <code translate="no" dir="ltr">TIMESTAMP</code>, <code translate="no" dir="ltr">DATETIME</code>, <code translate="no" dir="ltr">DATE</code>, <code translate="no" dir="ltr">TIME</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code>, then any value for this field in a Pub/Sub message must adhere to the format specified for the <a href="/bigquery/docs/reference/standard-sql/data-types">BigQuery data type</a>.</p></li> <li><p>Some Avro logical types are supported, as specified in the following table. Any logical types not listed only match the equivalent Avro type that they annotate, as detailed in the <a href="https://avro.apache.org/docs/1.10.2/spec.html#Logical+Types">Avro specification</a>.</p></li> </ul> <p>The following is a collection of mapping of different schema formats to BigQuery data types.</p> <div> <devsite-selector> <section> <h3 id="avro-types" data-text="Avro types" tabindex="-1">Avro types</h3> <table> <tr> <td><strong>Avro Type</strong> </td> <td><strong>BigQuery Data Type</strong> </td> </tr> <tr> <td><code translate="no" dir="ltr">null</code> </td> <td><code translate="no" dir="ltr">Any NULLABLE </code> </td> </tr> <tr> <td><code translate="no" dir="ltr">boolean</code> </td> <td><code translate="no" dir="ltr">BOOLEAN</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">int</code> </td> <td><code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">long</code> </td> <td><code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">float</code> </td> <td><code translate="no" dir="ltr">FLOAT64</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">double</code> </td> <td><code translate="no" dir="ltr">FLOAT64</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">bytes</code> </td> <td><code translate="no" dir="ltr">BYTES</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">string</code> </td> <td><code translate="no" dir="ltr">STRING</code>, <code translate="no" dir="ltr">JSON</code>, <code translate="no" dir="ltr">TIMESTAMP</code>, <code translate="no" dir="ltr">DATETIME</code>, <code translate="no" dir="ltr">DATE</code>, <code translate="no" dir="ltr">TIME</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">record</code> </td> <td><code translate="no" dir="ltr">RECORD/STRUCT</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">array</code> of <code translate="no" dir="ltr">Type</code> </td> <td><code translate="no" dir="ltr">REPEATED Type</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">map</code> with value type <code translate="no" dir="ltr">ValueType</code> </td> <td><code translate="no" dir="ltr">REPEATED STRUCT <key STRING, value ValueType></code> </td> </tr> <tr> <td><code translate="no" dir="ltr">union</code> with two types, one that is <code translate="no" dir="ltr">null</code> and the other <code translate="no" dir="ltr">Type</code> </td> <td><code translate="no" dir="ltr">NULLABLE Type</code> </td> </tr> <tr> <td>other <code translate="no" dir="ltr">union</code>s </td> <td>Unmappable </td> </tr> <tr> <td><code translate="no" dir="ltr">fixed</code> </td> <td><code translate="no" dir="ltr">BYTES</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">enum</code> </td> <td><code translate="no" dir="ltr">INTEGER</code> </td> </tr> </table> </section> <section> <h3 id="avro-logical-types" data-text="Avro logical types" tabindex="-1">Avro logical types</h3> <table> <tr> <td><strong>Avro Logical Type</strong> </td> <td><strong>BigQuery Data Type</strong> </td> </tr> <tr> <td><code translate="no" dir="ltr">timestamp-micros</code> </td> <td><code translate="no" dir="ltr">TIMESTAMP</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">date</code> </td> <td><code translate="no" dir="ltr">DATE</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">time-micros</code> </td> <td><code translate="no" dir="ltr">TIME</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">duration</code> </td> <td><code translate="no" dir="ltr">INTERVAL</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">decimal</code> </td> <td><code translate="no" dir="ltr">NUMERIC</code> or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> </table> </section> <section> <h3 id="protocol-buffer-types" data-text="Protocol Buffer types" tabindex="-1">Protocol Buffer types</h3> <table> <tr> <td><strong>Protocol Buffer Type</strong> </td> <td><strong>BigQuery Data Type</strong> </td> </tr> <tr> <td><code translate="no" dir="ltr">double</code> </td> <td><code translate="no" dir="ltr">FLOAT64</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">float</code> </td> <td><code translate="no" dir="ltr">FLOAT64</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">int32</code> </td> <td><code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">NUMERIC</code>, <code translate="no" dir="ltr">BIGNUMERIC</code>, or <code translate="no" dir="ltr">DATE</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">int64</code> </td> <td><code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">NUMERIC</code>, <code translate="no" dir="ltr">BIGNUMERIC</code>, <code translate="no" dir="ltr">DATE</code>, <code translate="no" dir="ltr">DATETIME</code>, or <code translate="no" dir="ltr">TIMESTAMP</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">uint32</code> </td> <td><code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">NUMERIC</code>, <code translate="no" dir="ltr">BIGNUMERIC</code>, or <code translate="no" dir="ltr">DATE</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">uint64</code> </td> <td><code translate="no" dir="ltr">NUMERIC</code> or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">sint32</code> </td> <td><code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">sint64</code> </td> <td><code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">NUMERIC</code>, <code translate="no" dir="ltr">BIGNUMERIC</code>, <code translate="no" dir="ltr">DATE</code>, <code translate="no" dir="ltr">DATETIME</code>, or <code translate="no" dir="ltr">TIMESTAMP</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">fixed32</code> </td> <td><code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">NUMERIC</code>, <code translate="no" dir="ltr">BIGNUMERIC</code>, or <code translate="no" dir="ltr">DATE</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">fixed64</code> </td> <td><code translate="no" dir="ltr">NUMERIC</code> or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">sfixed32</code> </td> <td><code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">NUMERIC</code>, <code translate="no" dir="ltr">BIGNUMERIC</code>, or <code translate="no" dir="ltr">DATE</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">sfixed64</code> </td> <td><code translate="no" dir="ltr">INTEGER</code>, <code translate="no" dir="ltr">NUMERIC</code>, <code translate="no" dir="ltr">BIGNUMERIC</code>, <code translate="no" dir="ltr">DATE</code>, <code translate="no" dir="ltr">DATETIME</code>, or <code translate="no" dir="ltr">TIMESTAMP</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">bool</code> </td> <td><code translate="no" dir="ltr">BOOLEAN</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">string</code> </td> <td><code translate="no" dir="ltr">STRING</code>, <code translate="no" dir="ltr">JSON</code>, <code translate="no" dir="ltr">TIMESTAMP</code>, <code translate="no" dir="ltr">DATETIME</code>, <code translate="no" dir="ltr">DATE</code>, <code translate="no" dir="ltr">TIME</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">bytes</code> </td> <td><code translate="no" dir="ltr">BYTES</code>, <code translate="no" dir="ltr">NUMERIC</code>, or <code translate="no" dir="ltr">BIGNUMERIC</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">enum</code> </td> <td><code translate="no" dir="ltr">INTEGER</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">message</code> </td> <td><code translate="no" dir="ltr">RECORD/STRUCT</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">oneof</code> </td> <td>Unmappable </td> </tr> <tr> <td><code translate="no" dir="ltr">map<KeyType, ValueType></code> </td> <td><code translate="no" dir="ltr">REPEATED RECORD<key KeyType, value ValueType></code> </td> </tr> <tr> <td><code translate="no" dir="ltr">enum</code> </td> <td><code translate="no" dir="ltr">INTEGER</code> </td> </tr> <tr> <td><code translate="no" dir="ltr">repeated/array of Type</code> </td> <td><code translate="no" dir="ltr">REPEATED Type</code> </td> </tr> </table> </section> </devsite-selector> </div> <h2 id="date_time_int" data-text="Date and time integer representation" tabindex="-1">Date and time integer representation</h2> <p>When mapping from an integer to one of the date or time types, the number must represent the correct value. The following is the mapping from BigQuery data types to the integer that represents them.</p> <table> <tr> <td><strong>BigQuery Data Type</strong> </td> <td><strong>Integer Representation</strong> </td> </tr> <tr> <td><code translate="no" dir="ltr">DATE</code> </td> <td>The number of days since the Unix epoch, January 1, 1970</td> </tr> <tr> <td><code translate="no" dir="ltr">DATETIME</code> </td> <td>The date and time in microseconds expressed as civil time using the <a href="/java/docs/reference/google-cloud-bigquerystorage/latest/com.google.cloud.bigquery.storage.v1.CivilTimeEncoder">CivilTimeEncoder</a></td> </tr> <tr> <td><code translate="no" dir="ltr">TIME</code> </td> <td>The time in microseconds expressed as civil time using the <a href="/java/docs/reference/google-cloud-bigquerystorage/latest/com.google.cloud.bigquery.storage.v1.CivilTimeEncoder">CivilTimeEncoder</a></td> </tr> <tr> <td><code translate="no" dir="ltr">TIMESTAMP</code> </td> <td>The number of microseconds since the Unix epoch, January 1, 1970 00:00:00 UTC</td> </tr> </table> <h2 id="change_data_capture" data-text="BigQuery change data capture" tabindex="-1">BigQuery change data capture</h2> <p>BigQuery subscriptions support <a href="/bigquery/docs/change-data-capture">change data capture (CDC) updates</a> when <a href="/pubsub/docs/subscription-properties#use-topic-schema"><code translate="no" dir="ltr">use_topic_schema</code></a> or <a href="/pubsub/docs/subscription-properties#use-table-schema"><code translate="no" dir="ltr">use_table_schema</code></a> is set to <code translate="no" dir="ltr">true</code> in the subscription properties. To use the feature with <code translate="no" dir="ltr">use_topic_schema</code>, set the <a href="/pubsub/docs/schemas">schema</a> of the topic with the following fields:</p> <ul> <li><p><code translate="no" dir="ltr">_CHANGE_TYPE</code> (required): A <code translate="no" dir="ltr">string</code> field set to <code translate="no" dir="ltr">UPSERT</code> or <code translate="no" dir="ltr">DELETE</code>.</p> <ul> <li><p>If a Pub/Sub message written to the BigQuery table has <code translate="no" dir="ltr">_CHANGE_TYPE</code> set to <code translate="no" dir="ltr">UPSERT</code>, then BigQuery updates the row with the same key if it exists or inserts a new row if it does not.</p></li> <li><p>If a Pub/Sub message written to the BigQuery table has <code translate="no" dir="ltr">_CHANGE_TYPE</code> set to <code translate="no" dir="ltr">DELETE</code>, then BigQuery deletes the row in the table with the same key if it exists.</p></li> </ul></li> <li><p><code translate="no" dir="ltr">_CHANGE_SEQUENCE_NUMBER</code> (optional): An <code translate="no" dir="ltr">int64</code> (<code translate="no" dir="ltr">long</code>) field set to ensure that updates and deletes made to the BigQuery table are processed in order. Messages for the same row key must contain a monotonically increasing value for <code translate="no" dir="ltr">_CHANGE_SEQUENCE_NUMBER</code>. Messages with sequence numbers that are lesser than the highest sequence number processed for a row do not have any effect on the row in the BigQuery table. Note that Pub/Sub requires an integer-based value as opposed to the string-based value used when interacting with BigQuery directly.</p></li> </ul> <p>To use the feature with <code translate="no" dir="ltr">use_table_schema</code>, include the preceding fields in the JSON message.</p> <aside class="note"><strong>Note:</strong><span> When using CDC updates, the BigQuery table must have a primary key. For more information, see <a href="/bigquery/docs/change-data-capture#prerequisites">CDC prerequisites</a>.</span></aside> <h2 id="service_account_permissions" data-text="Pub/Sub service account permissions" tabindex="-1">Pub/Sub service account permissions</h2> <p>To create a BigQuery subscription, the Pub/Sub service account must have permission to write to the specific BigQuery table and to read the table metadata. For more information, see <a href="/pubsub/docs/create-bigquery-subscription#assign_bigquery_service_account">Assign BigQuery roles to the Pub/Sub service account</a>.</p> <h2 id="handle_message_failures" data-text="Handle message failures" tabindex="-1">Handle message failures</h2> <p>When a Pub/Sub message cannot be written to BigQuery, the message cannot be acknowledged. To forward such undeliverable messages, configure a <a href="/pubsub/docs/handling-failures#dead-letter_topic">dead-letter topic</a> on the BigQuery subscription. The Pub/Sub message forwarded to the dead-letter topic contains an attribute <code translate="no" dir="ltr">CloudPubSubDeadLetterSourceDeliveryErrorMessage</code> that has the reason that the Pub/Sub message couldn't be written to BigQuery.</p> <p>If Pub/Sub cannot write messages to BigQuery, then Pub/Sub backs off delivery of messages in a way similar to <a href="/pubsub/docs/push#push_backoff">push backoff behavior</a>. However, if the subscription has a <a href="/pubsub/docs/handling-failures#dead-letter_topic">dead-letter topic</a> attached to it, Pub/Sub does not back off delivery when message failures are due to schema compatibility errors.</p> <h2 id="quotas_and_limits" data-text="Quotas and limits" tabindex="-1">Quotas and limits</h2> <p>There are quota limitations on the BigQuery subscriber throughput per region. For more information, see <a href="/pubsub/quotas">Pub/Sub quotas and limits</a>.</p> <p>BigQuery subscriptions write data by using the <a href="/bigquery/docs/write-api"> BigQuery Storage Write API</a>. For information about the quotas and limits for the Storage Write API, see <a href="/bigquery/quotas#write-api-limits"> BigQuery Storage Write API requests</a>. BigQuery subscriptions only consume the throughput quota for the Storage Write API. You can ignore the other Storage Write API quota considerations in this instance.</p> <h2 id="pricing" data-text="Pricing" tabindex="-1">Pricing</h2> <p>For the pricing for BigQuery subscriptions, see the <a href="/pubsub/pricing#pubsub"> Pub/Sub pricing page</a>.</p> <h2 id="whats_next" data-text="What's next" tabindex="-1">What's next</h2> <ul> <li><p>Create a subscription, such as a <a href="/pubsub/docs/create-bigquery-subscription">BigQuery subscription</a>.</p></li> <li><p>Troubleshoot a <a href="/pubsub/docs/bigquery-troubleshooting">BigQuery subscription</a>.</p></li> <li><p>Read about <a href="/bigquery/docs">BigQuery</a>.</p></li> <li><p>Review pricing for Pub/Sub, including <a href="/pubsub/pricing"> BigQuery subscriptions</a>.</p></li> <li><p>Create or modify a subscription with <a href="/sdk/gcloud/reference/pubsub/subscriptions"><code translate="no" dir="ltr">gcloud</code> CLI commands</a>.</p></li> <li><p>Create or modify a subscription with <a href="/pubsub/docs/reference/rest/v1/projects.subscriptions">REST APIs</a>.</p></li> </ul> <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="Pub/Sub Documentation" product-id="96707" 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-feedback-url="https://issuetracker.google.com/issues/new?component=187173&template=0" 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="Pub/Sub Documentation" product-id="96707" 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-feedback-url="https://issuetracker.google.com/issues/new?component=187173&template=0" 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-module="footer"track-metadata-eventDetail="cloud.google.com/why-google-cloud/"track-metadata-child_headline="why google"track-type="footer link"track-metadata-position="footer"track-name="choosing google cloud"> 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-type="footer link"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/security/"track-metadata-child_headline="why google"track-name="trust and security"track-metadata-module="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-child_headline="why google"track-metadata-position="footer"track-name="modern infrastructure cloud"track-metadata-eventDetail="cloud.google.com/solutions/modern-infrastructure/"track-type="footer link"track-metadata-module="footer"> 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-metadata-child_headline="why google"track-type="footer link"track-name="multicloud"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/multicloud/"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-metadata-eventDetail="cloud.google.com/infrastructure/"track-metadata-child_headline="why google"track-metadata-module="footer"track-type="footer link"track-metadata-position="footer"track-name="global infrastructure"> 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-position="footer"track-metadata-child_headline="why google"track-metadata-module="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/customers/"track-name="customers and case studies"> 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-child_headline="why google"track-metadata-module="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/analyst-reports/"track-name="analyst reports"track-metadata-position="footer"> 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-child_headline="why google"track-type="footer link"track-metadata-eventDetail="cloud.google.com/whitepapers/"track-metadata-module="footer"track-metadata-position="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-eventDetail="cloud.google.com/blog/"track-metadata-module="footer"track-metadata-child_headline="engage"track-metadata-position="footer"track-type="footer link"track-name="blog"> 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-type="footer link"track-name="google cloud pricing"track-metadata-child_headline="products and pricing"track-metadata-position="footer"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/pricing/"> 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)" track-metadata-position="footer"track-name="google workspace pricing"track-type="footer link"track-metadata-eventDetail="workspace.google.com/pricing.html"track-metadata-module="footer"track-metadata-child_headline="products and pricing"target="_blank"> 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-position="footer"track-metadata-module="footer"track-metadata-child_headline="products and pricing"track-type="footer link"track-metadata-eventDetail="cloud.google.com/products/"track-name="see all 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-metadata-child_headline="solutions"track-type="footer link"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/solutions/infrastructure-modernization/"track-name="infrastructure modernization"> 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-type="footer link"track-name="databases"track-metadata-child_headline="solutions"track-metadata-eventDetail="cloud.google.com/solutions/databases"track-metadata-module="footer"track-metadata-position="footer"> 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-module="footer"track-name="application development"track-metadata-eventDetail="cloud.google.com/solutions/application-modernization/"track-metadata-child_headline="solutions"track-metadata-position="footer"track-type="footer link"> 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-position="footer"track-name="smart analytics"track-metadata-eventDetail="cloud.google.com/solutions/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-metadata-eventDetail="cloud.google.com/solutions/ai/"track-metadata-child_headline="solutions"track-metadata-module="footer"track-name="artificial intelligence"track-type="footer link"track-metadata-position="footer"> 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-name="security"track-metadata-position="footer"track-metadata-child_headline="solutions"track-metadata-module="footer"track-type="footer link"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-module="footer"track-metadata-eventDetail="workspace.google.com/enterprise/"target="_blank"track-type="footer link"track-metadata-child_headline="solutions"track-name="productivity and work transformation"track-metadata-position="footer"> 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-type="footer link"track-name="industry solutions"track-metadata-child_headline="solutions"track-metadata-eventDetail="cloud.google.com/solutions/#industry-solutions"track-metadata-module="footer"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-name="devops solutions"track-type="footer link"track-metadata-eventDetail="cloud.google.com/solutions/devops/"track-metadata-position="footer"track-metadata-child_headline="solutions"track-metadata-module="footer"> 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-metadata-module="footer"track-metadata-position="footer"track-type="footer link"track-metadata-child_headline="solutions"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-child_headline="solutions"track-metadata-eventDetail="cloud.google.com/solutions/"track-metadata-position="footer"track-type="footer link"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-metadata-position="footer"track-name="google cloud affiliate program"track-metadata-eventDetail="cloud.google.com/affiliate-program/"track-type="footer link"track-metadata-child_headline="resources"track-metadata-module="footer"> 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-module="footer"track-name="google cloud documentation"track-metadata-child_headline="resources"track-type="footer link"track-metadata-eventDetail="cloud.google.com/docs/"> 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-metadata-child_headline="resources"track-type="footer link"track-metadata-module="footer"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/docs/get-started/"track-name="google cloud quickstarts"> 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-type="footer link"track-metadata-eventDetail="cloud.google.com/marketplace/"track-metadata-child_headline="resources"track-metadata-position="footer"track-name="google cloud 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-name="learn about cloud computing"track-type="footer link"track-metadata-child_headline="resources"track-metadata-position="footer"track-metadata-module="footer"track-metadata-eventDetail="learn/"> 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-name="support"track-metadata-module="footer"track-metadata-position="footer"track-metadata-child_headline="resources"track-type="footer link"track-metadata-eventDetail="cloud.google.com/support-hub/"> 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-name="code samples"track-metadata-child_headline="resources"track-metadata-module="footer"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/docs/samples"track-type="footer link"> 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-metadata-eventDetail="cloud.google.com/architecture/"track-metadata-child_headline="resources"track-metadata-position="footer"track-metadata-module="footer"track-name="cloud architecture center"track-type="footer link"> 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-metadata-child_headline="resources"track-metadata-eventDetail="cloud.google.com/training/"track-metadata-position="footer"track-type="footer link"track-metadata-module="footer"track-name="training"> 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-type="footer link"track-name="certifications"track-metadata-eventDetail="cloud.google.com/certification"track-metadata-position="footer"track-metadata-child_headline="resources"track-metadata-module="footer"> 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)" target="_blank"track-name="google developers"track-type="footer link"track-metadata-eventDetail="developers.google.com"track-metadata-child_headline="resources"track-metadata-module="footer"track-metadata-position="footer"> 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-position="footer"track-metadata-child_headline="resources"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/startup/"track-name="google cloud for startups"track-type="footer link"> 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)" track-metadata-module="footer"track-type="footer link"track-metadata-child_headline="resources"track-name="system status"track-metadata-position="footer"target="_blank"track-metadata-eventDetail="status.cloud.google.com"> 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-type="footer link"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/release-notes/"track-name="release notes"track-metadata-module="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-type="footer link"track-metadata-position="footer"track-metadata-child_headline="engage"track-metadata-eventDetail="cloud.google.com/contact/"track-metadata-module="footer"track-name="contact sales"> 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)" track-name="find a partner"track-type="footer link"track-metadata-child_headline="engage"track-metadata-position="footer"target="_blank"track-metadata-eventDetail="cloud.google.com/find-a-partner"track-metadata-module="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-metadata-module="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/partners/become-a-partner/"track-name="become a partner"track-metadata-child_headline="engage"track-metadata-position="footer"> 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-name="events"track-type="footer link"track-metadata-child_headline="engage"track-metadata-eventDetail="cloud.withgoogle.com/events"track-metadata-module="footer"track-metadata-position="footer"> 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-name="podcasts"track-type="footer link"track-metadata-child_headline="engage"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/podcasts/"target="_blank"track-metadata-position="footer"rel="noopener"> 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-eventDetail="cloud.google.com/developers/"track-metadata-module="footer"track-type="footer link"track-metadata-position="footer"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)" rel="noopener"track-metadata-eventDetail="www.googlecloudpresscorner.com"track-metadata-position="footer"track-name="press corner"track-metadata-module="footer"track-metadata-child_headline="engage"target="_blank"track-type="footer link"> 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-name="google cloud on youtube"target="_blank"rel="noopener"track-metadata-position="footer"track-metadata-eventDetail="www.youtube.com/googlecloud"track-type="footer link"track-metadata-child_headline="engage"track-metadata-module="footer"> 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-metadata-module="footer"track-type="footer link"track-metadata-position="footer"track-metadata-child_headline="engage"target="_blank"track-name="google cloud tech on youtube"> 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-child_headline="engage"track-type="footer link"track-name="follow on x"rel="noopener"target="_blank"track-metadata-eventDetail="x.com/googlecloud"track-metadata-position="footer"track-metadata-module="footer"> Follow on X </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//userresearch.google.com/?reserved=1&utm_source=website&Q_Language=en&utm_medium=own_srch&utm_campaign=CloudWebFooter&utm_term=0&utm_content=0&productTag=clou&campaignDate=jul19&pType=devel&referral_code=jk212693" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 11)" target="_blank"track-metadata-child_headline="engage"track-metadata-module="footer"track-name="join user research"track-metadata-eventDetail="userresearch.google.com/?reserved=1&utm_source=website&Q_Language=en&utm_medium=own_srch&utm_campaign=CloudWebFooter&utm_term=0&utm_content=0&productTag=clou&campaignDate=jul19&pType=devel&referral_code=jk212693"track-metadata-position="footer"track-type="footer link"> 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-type="footer link"track-metadata-child_headline="engage"track-name="we are hiring join google cloud"track-metadata-position="footer"track-metadata-eventDetail="careers.google.com/cloud"track-metadata-module="footer"target="_blank"> 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-type="footer link"track-name="google cloud community"target="_blank"track-metadata-child_headline="engage"rel="noopener"track-metadata-position="footer"track-metadata-module="footer"track-metadata-eventDetail="www.googlecloudcommunity.com"> 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-eventDetail="//about.google/" track-name="about google" track-metadata-position="footer" target="_blank" track-metadata-module="utility footer" track-type="footer link" > 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" track-type="footer link" track-metadata-eventDetail="//policies.google.com/privacy" track-name="privacy" target="_blank" track-metadata-position="footer" 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" track-metadata-module="utility footer" track-name="site terms" target="_blank" track-metadata-position="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-type="footer link" track-metadata-eventDetail="/product-terms/" track-metadata-module="utility footer" track-metadata-position="footer" > 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-position="footer" track-name="Manage cookies" track-metadata-eventDetail="#" track-type="footer link" aria-hidden="true" track-metadata-module="utility footer" > 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-type="footer link" track-metadata-eventDetail="/sustainability/" track-metadata-position="footer" track-metadata-module="utility footer" track-name="Our third decade of climate action: join us" > 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-type="footer link" track-metadata-eventDetail="/newsletter/" track-metadata-position="footer" track-name="subscribe" track-metadata-module="utility footer" > 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="id" >Indonesia</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>{"at": "True", "ga4": [], "ga4p": [], "gtm": [{"id": "GTM-5CVQBG", "purpose": 1}], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Pub/Sub Documentation", "signedIn": "False", "tenant": "cloud", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</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, 39300021, 39300118, 39300195, 39300251, 39300318, 39300320, 39300325, 39300346, 39300354, 39300363, 39300373, 39300412, 39300421, 39300436, 39300472, 39300488, 39300496, 39300498]"> </cloudx-experiment-ids> <script nonce="qkJvZYWDQWXHIYnyINQA1BglhqM8Wp"> (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__enable_profile_collections","Cloud__enable_cloud_dlp_service","TpcFeatures__enable_required_headers","Cloud__enable_legacy_calculator_redirect","Search__enable_ai_search_summaries_restricted","Profiles__enable_completecodelab_endpoint","Concierge__enable_concierge_restricted","TpcFeatures__enable_mirror_tenant_redirects","Profiles__require_profile_eligibility_for_signin","Profiles__enable_public_developer_profiles","Search__enable_page_map","Profiles__enable_recognition_badges","Cloud__enable_free_trial_server_call","Cloud__enable_cloudx_experiment_ids","Analytics__enable_clearcut_logging","DevPro__enable_developer_subscriptions","Cloud__enable_cloud_shell_fte_user_flow","Cloud__enable_cloudx_ping","MiscFeatureFlags__enable_explain_this_code","Profiles__enable_release_notes_notifications","MiscFeatureFlags__enable_view_transitions","Cloud__enable_cloud_shell","EngEduTelemetry__enable_engedu_telemetry","Search__enable_ai_search_summaries","Experiments__reqs_query_experiments","CloudShell__cloud_shell_button","MiscFeatureFlags__enable_project_variables","Search__enable_ai_eligibility_checks","Profiles__enable_complete_playlist_endpoint","Cloud__enable_llm_concierge_chat","Profiles__enable_awarding_url","Search__enable_dynamic_content_confidential_banner","Profiles__enable_page_saving","DevPro__enable_cloud_innovators_plus","MiscFeatureFlags__enable_firebase_utm","Concierge__enable_pushui","MiscFeatureFlags__enable_variable_operator","Profiles__enable_developer_profiles_callout","BookNav__enable_tenant_cache_key","Search__scope_to_project_tenant","CloudShell__cloud_code_overflow_menu","MiscFeatureFlags__developers_footer_dark_image","MiscFeatureFlags__developers_footer_image","Search__enable_suggestions_from_borg","Cloud__enable_cloud_facet_chat","MiscFeatureFlags__emergency_css","Profiles__enable_dashboard_curated_recommendations"],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>