CINXE.COM
Create transfers | Cloud Storage Transfer Service 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/storage-transfer/docs/create-transfers"><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/storage-transfer/docs/create-transfers" /><link rel="alternate" hreflang="x-default" href="https://cloud.google.com/storage-transfer/docs/create-transfers" /><link rel="alternate" hreflang="zh-Hans" href="https://cloud.google.com/storage-transfer/docs/create-transfers?hl=zh-cn" /><link rel="alternate" hreflang="fr" href="https://cloud.google.com/storage-transfer/docs/create-transfers?hl=fr" /><link rel="alternate" hreflang="de" href="https://cloud.google.com/storage-transfer/docs/create-transfers?hl=de" /><link rel="alternate" hreflang="id" href="https://cloud.google.com/storage-transfer/docs/create-transfers?hl=id" /><link rel="alternate" hreflang="it" href="https://cloud.google.com/storage-transfer/docs/create-transfers?hl=it" /><link rel="alternate" hreflang="ja" href="https://cloud.google.com/storage-transfer/docs/create-transfers?hl=ja" /><link rel="alternate" hreflang="ko" href="https://cloud.google.com/storage-transfer/docs/create-transfers?hl=ko" /><link rel="alternate" hreflang="pt-BR" href="https://cloud.google.com/storage-transfer/docs/create-transfers?hl=pt-br" /><link rel="alternate" hreflang="es-419" href="https://cloud.google.com/storage-transfer/docs/create-transfers?hl=es-419" /><title>Create transfers | Cloud Storage Transfer Service Documentation | Google Cloud</title> <meta property="og:title" content="Create transfers | Cloud Storage Transfer Service Documentation | Google Cloud"><meta property="og:url" content="https://cloud.google.com/storage-transfer/docs/create-transfers"><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": "Create transfers" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Cloud Storage Transfer Service", "item": "https://cloud.google.com/storage-transfer" },{ "@type": "ListItem", "position": 2, "name": "Documentation", "item": "https://cloud.google.com/storage-transfer/docs" },{ "@type": "ListItem", "position": 3, "name": "Create transfers", "item": "https://cloud.google.com/storage-transfer/docs/create-transfers" }] } </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="Cloud Storage Transfer Service Documentation" tenant-name="Google Cloud" project-scope="/storage-transfer/docs" url-scoped="https://cloud.google.com/s/results/storage-transfer/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/storage-transfer" 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="Cloud Storage Transfer Service" > Cloud Storage Transfer Service </a> </li> </ul> <cloudx-tabs-nav class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab class="devsite-active"> <a href="https://cloud.google.com/storage-transfer/docs/overview" track-metadata-eventdetail="https://cloud.google.com/storage-transfer/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/storage-transfer/docs/apis" track-metadata-eventdetail="https://cloud.google.com/storage-transfer/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/storage-transfer/docs/support" track-metadata-eventdetail="https://cloud.google.com/storage-transfer/docs/support" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - support" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" > Support </a> </tab> <tab > <a href="https://cloud.google.com/storage-transfer/docs/resources" track-metadata-eventdetail="https://cloud.google.com/storage-transfer/docs/resources" 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 " data-overflow="devsite-tabs-wrapper" track-type="contact" track-name="sales" data-overflow-container="left" data-overflow-wrapper="tab" track-metadata-eventDetail="nav" track-metadata-position="nav" >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 " data-overflow="devsite-top-logo-row" track-type="freeTrial" data-overflow-class="devsite-header-link devsite-top-button button cloud-free-trial-button cloud-free-trial-enabled cloud-button cloud-button--primary" track-metadata-position="nav" track-metadata-eventDetail="nav" data-overflow-container="right" referrerpolicy="no-referrer-when-downgrade" track-name="gcpCta" >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="/storage-transfer/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="/storage-transfer/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="/storage-transfer/docs/support" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Support" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Support </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/storage-transfer/docs/resources" 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 " referrerpolicy="no-referrer-when-downgrade" track-name="console" track-metadata-eventDetail="nav" track-metadata-position="nav" track-type="globalNav" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Console" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Console </span> </a> </li> <li class="devsite-nav-item"> <a href="/contact" class="cta-button-secondary button" data-overflow="devsite-tabs-wrapper" track-type="contact" track-name="sales" data-overflow-container="left" data-overflow-wrapper="tab" track-metadata-eventDetail="nav" track-metadata-position="nav" 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" data-overflow="devsite-top-logo-row" track-type="freeTrial" data-overflow-class="devsite-header-link devsite-top-button button cloud-free-trial-button cloud-free-trial-enabled cloud-button cloud-button--primary" track-metadata-position="nav" track-metadata-eventDetail="nav" data-overflow-container="right" referrerpolicy="no-referrer-when-downgrade" track-name="gcpCta" 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="/storage-transfer/docs/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/overview" ><span class="devsite-nav-text" tooltip>What is Storage Transfer Service?</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/sources-and-sinks" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/sources-and-sinks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/sources-and-sinks" ><span class="devsite-nav-text" tooltip>Supported sources and sinks</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/transfer-options" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/transfer-options" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/transfer-options" ><span class="devsite-nav-text" tooltip>Other transfer options</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/transfer-differences" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/transfer-differences" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/transfer-differences" ><span class="devsite-nav-text" tooltip>Differences between Storage Transfer Service options</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>Common use cases</span> </div></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/cloud-storage-to-cloud-storage" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/cloud-storage-to-cloud-storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/cloud-storage-to-cloud-storage" ><span class="devsite-nav-text" tooltip>Transfer between Cloud Storage buckets</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/move-your-cloud-storage-data-to-another-location" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/move-your-cloud-storage-data-to-another-location" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/move-your-cloud-storage-data-to-another-location" ><span class="devsite-nav-text" tooltip>Move your Cloud Storage data to another location</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/file-to-file" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/file-to-file" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/file-to-file" ><span class="devsite-nav-text" tooltip>Transfer data between file systems</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/s3-cloudfront" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/s3-cloudfront" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/s3-cloudfront" ><span class="devsite-nav-text" tooltip>Transfer from S3 via CloudFront</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>Configure access</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Access control with IAM</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/storage-transfer/docs/iam-cloud" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/iam-cloud" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/iam-cloud" ><span class="devsite-nav-text" tooltip>Agentless transfer permissions</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/file-system-permissions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/file-system-permissions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/file-system-permissions" ><span class="devsite-nav-text" tooltip>Agent-based transfer permissions</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/access-control" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/access-control" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/access-control" ><span class="devsite-nav-text" tooltip>Role and permission reference</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>Sources</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/storage-transfer/docs/source-cloud-storage" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/source-cloud-storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/source-cloud-storage" ><span class="devsite-nav-text" tooltip>Cloud Storage</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/source-amazon-s3" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/source-amazon-s3" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/source-amazon-s3" ><span class="devsite-nav-text" tooltip>Amazon S3</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/source-s3-compatible" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/source-s3-compatible" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/source-s3-compatible" ><span class="devsite-nav-text" tooltip>S3-compatible storage</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/source-microsoft-azure" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/source-microsoft-azure" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/source-microsoft-azure" ><span class="devsite-nav-text" tooltip>Microsoft Azure Blob Storage</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/source-url-list" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/source-url-list" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/source-url-list" ><span class="devsite-nav-text" tooltip>URL list</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/source-filesystem" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/source-filesystem" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/source-filesystem" ><span class="devsite-nav-text" tooltip>File system</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>Sinks</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/storage-transfer/docs/sink-cloud-storage" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/sink-cloud-storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/sink-cloud-storage" ><span class="devsite-nav-text" tooltip>Cloud Storage</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/sink-filesystem" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/sink-filesystem" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/sink-filesystem" ><span class="devsite-nav-text" tooltip>File system</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>Transfer data</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Create transfers</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/storage-transfer/docs/create-transfers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/create-transfers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/create-transfers" ><span class="devsite-nav-text" tooltip>All transfers</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/create-transfers/agentless/s3" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/create-transfers/agentless/s3" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/create-transfers/agentless/s3" ><span class="devsite-nav-text" tooltip>Amazon S3 to Cloud Storage</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/create-transfers/agent-based/file-system-to-cloud-storage" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/create-transfers/agent-based/file-system-to-cloud-storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/create-transfers/agent-based/file-system-to-cloud-storage" ><span class="devsite-nav-text" tooltip>File system to Cloud Storage</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/create-transfers/agent-based/hdfs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/create-transfers/agent-based/hdfs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/create-transfers/agent-based/hdfs" ><span class="devsite-nav-text" tooltip>HDFS to Cloud Storage</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/create-transfers/agent-based/s3-compatible" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/create-transfers/agent-based/s3-compatible" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/create-transfers/agent-based/s3-compatible" ><span class="devsite-nav-text" tooltip>S3-compatible storage to Cloud Storage</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/manage-transfers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/manage-transfers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/manage-transfers" ><span class="devsite-nav-text" tooltip>Manage transfers</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>Event-driven transfers</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/storage-transfer/docs/event-driven-transfers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/event-driven-transfers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/event-driven-transfers" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/event-driven-google" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/event-driven-google" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/event-driven-google" ><span class="devsite-nav-text" tooltip>From Cloud Storage</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/event-driven-aws" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/event-driven-aws" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/event-driven-aws" ><span class="devsite-nav-text" tooltip>From AWS S3</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-preview"><a href="/storage-transfer/docs/cross-bucket-replication" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/cross-bucket-replication" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/cross-bucket-replication" ><span class="devsite-nav-text" tooltip>Cross-bucket replication</span><span class="devsite-nav-icon material-icons" data-icon="preview" data-title="Preview" aria-hidden="true"></span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/managed-folders" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/managed-folders" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/managed-folders" ><span class="devsite-nav-text" tooltip>Cloud Storage managed folders</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/hns" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/hns" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/hns" ><span class="devsite-nav-text" tooltip>Cloud Storage hierarchical namespace</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/filtering-objects-from-transfers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/filtering-objects-from-transfers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/filtering-objects-from-transfers" ><span class="devsite-nav-text" tooltip>Filter source objects by prefix</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/manifest" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/manifest" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/manifest" ><span class="devsite-nav-text" tooltip>Transfer specific files or objects</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/create-url-list" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/create-url-list" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/create-url-list" ><span class="devsite-nav-text" tooltip>Create a URL list</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/schedule-transfer-jobs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/schedule-transfer-jobs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/schedule-transfer-jobs" ><span class="devsite-nav-text" tooltip>Schedule transfers</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/metadata-preservation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/metadata-preservation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/metadata-preservation" ><span class="devsite-nav-text" tooltip>Metadata preservation</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/data-integrity" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/data-integrity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/data-integrity" ><span class="devsite-nav-text" tooltip>Data integrity</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/performance" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/performance" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/performance" ><span class="devsite-nav-text" tooltip>Improve transfer speeds</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>Manage transfer agents</span> </div></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/on-prem-set-up" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/on-prem-set-up" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/on-prem-set-up" ><span class="devsite-nav-text" tooltip>Requirements</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/on-prem-agent-pools" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/on-prem-agent-pools" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/on-prem-agent-pools" ><span class="devsite-nav-text" tooltip>Agent pools</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/managing-on-prem-agents" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/managing-on-prem-agents" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/managing-on-prem-agents" ><span class="devsite-nav-text" tooltip>Transfer agents</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/obtaining-bandwidth-on-prem" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/obtaining-bandwidth-on-prem" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/obtaining-bandwidth-on-prem" ><span class="devsite-nav-text" tooltip>Manage network bandwidth</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/on-prem-agent-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/on-prem-agent-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/on-prem-agent-best-practices" ><span class="devsite-nav-text" tooltip>Best practices</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/on-prem-agent-details" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/on-prem-agent-details" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/on-prem-agent-details" ><span class="devsite-nav-text" tooltip>Advanced options</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/on-prem-security" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/on-prem-security" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/on-prem-security" ><span class="devsite-nav-text" tooltip>Protect file system data</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/troubleshooting-on-prem" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/troubleshooting-on-prem" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/troubleshooting-on-prem" ><span class="devsite-nav-text" tooltip>Troubleshoot</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>Log and monitor</span> </div></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/transfer-logs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/transfer-logs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/transfer-logs" ><span class="devsite-nav-text" tooltip>Cloud Logging</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/audit-logging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/audit-logging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/audit-logging" ><span class="devsite-nav-text" tooltip>Audit Logging</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/monitor-transfer-jobs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/monitor-transfer-jobs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/monitor-transfer-jobs" ><span class="devsite-nav-text" tooltip>Monitor transfer jobs</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/on-prem-transfer-log-format" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/on-prem-transfer-log-format" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/on-prem-transfer-log-format" ><span class="devsite-nav-text" tooltip>File system transfer logs</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/pub-sub-transfer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/pub-sub-transfer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/pub-sub-transfer" ><span class="devsite-nav-text" tooltip>Pub/Sub notifications</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>Security and compliance</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Configure VPC Service Controls</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/storage-transfer/docs/transfer-with-vpc-sc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/transfer-with-vpc-sc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/transfer-with-vpc-sc" ><span class="devsite-nav-text" tooltip>Cloud object storage transfers</span></a></li><li class="devsite-nav-item"><a href="/storage-transfer/docs/on-prem-vpc-sc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/on-prem-vpc-sc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/on-prem-vpc-sc" ><span class="devsite-nav-text" tooltip>File system transfers</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/cmek" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/cmek" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/cmek" ><span class="devsite-nav-text" tooltip>Customer-managed encryption keys</span></a></li> <li class="devsite-nav-item"><a href="/storage-transfer/docs/access-transparency" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage-transfer/docs/access-transparency" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage-transfer/docs/access-transparency" ><span class="devsite-nav-text" tooltip>Access Transparency</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/storage-transfer" 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="Cloud Storage Transfer Service" > Cloud Storage Transfer Service </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://cloud.google.com/storage-transfer/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="Cloud Storage Transfer Service 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/storage-transfer/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="Cloud Storage Transfer Service Documentation" product-id="5076076" 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=815827" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/favicons/onecloud/super_cloud.png" project-support-url="https://cloud.google.com/storage-transfer/docs/support" > <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1"> Create transfers </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 page shows you how to create and start transfer jobs.</p> <p>To see if your source and destination (also known as a sink) are supported by Storage Transfer Service, refer to <a href="/storage-transfer/docs/sources-and-sinks">Supported sources and sinks</a>.</p> <h2 id="agents_and_agent_pools" data-text="Agents and agent pools" tabindex="-1">Agents and agent pools</h2> <p>Depending on your source and destination, you may need to create and configure an agent pool and install agents on a machine with access to your source or destination.</p> <ul> <li><p>Transfers from Amazon S3, Microsoft Azure, URL lists, or Cloud Storage to Cloud Storage <strong>do not require agents and agent pools</strong>.</p></li> <li><p>Transfers whose source and/or destination is a file system, or from S3-compatible storage, do require agents and agent pools. See <a href="/storage-transfer/docs/on-prem-agent-pools">Manage agent pools</a> for instructions.</p></li> </ul> <h2 id="before_you_begin" data-text="Before you begin" tabindex="-1">Before you begin</h2> <p>Before configuring your transfers, make sure you have configured access:</p> <ul> <li>For users and service accounts: <ul> <li><a href="/storage-transfer/docs/iam-cloud">Agentless transfers</a></li> <li><a href="/storage-transfer/docs/file-system-permissions">Agent-based transfers</a></li> </ul></li> <li><a href="/storage-transfer/docs/sources-and-sinks">To your source data and to your destination</a>.</li> </ul> <p>If you're using <code translate="no" dir="ltr">gcloud</code> commands, <a href="/sdk/docs/install">install the gcloud CLI</a>.</p> <h2 id="create_a_transfer" data-text="Create a transfer" tabindex="-1">Create a transfer</h2> <p class="note"> Don't include sensitive information such as personally identifiable information (PII) or security data in your transfer job name. Resource names may be propagated to the names of other Google Cloud resources and may be exposed to Google-internal systems outside of your project. </p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section><h3 id="google-cloud-console" data-text=" Google Cloud console " tabindex="-1"> Google Cloud console </h3><ol> <li><p>Go to the <strong>Storage Transfer Service</strong> page in the Google Cloud console.</p> <p><a href="https://console.cloud.google.com/transfer/" target="console" track-name="consoleLink" track-type="tutorial" class="button button-primary">Go to Storage Transfer Service</a> </p></li> <li><p>Click <strong>Create transfer job</strong>. The <strong>Create a transfer job</strong> page is displayed.</p></li> <li><p>Choose a source:</p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section><h3 id="cloud-storage" data-text=" Cloud Storage " tabindex="-1"> Cloud Storage </h3><p>Your user account must have <strong>storage.buckets.get</strong> permission to select source and destination buckets. Alternatively, you can type the name of the bucket directly. For more information, see <a href="/iam/docs/troubleshooting-access">Troubleshooting access</a>.</p> <ol> <li><p>Under <strong>Source type</strong>, select <strong>Cloud Storage</strong>.</p></li> <li><p>Select your <strong>Destination type</strong>.</p></li> <li><p>If your destination is Cloud Storage, select your <strong>Scheduling mode</strong>. <em>Batch transfers</em> execute on a one-time or scheduled basis. <em>Event-driven transfers</em> continuously monitor the source and transfer data when it's added or modified.</p> <p>To configure an event-driven transfer, follow the instructions at <a href="/storage-transfer/docs/event-driven-transfers">Event-driven transfers</a>.</p></li> <li><p>Click <strong>Next step</strong>.</p></li> <li><p>Select a bucket and (optionally) a folder in that bucket by doing one of the following:</p> <ul> <li><p>Enter an existing Cloud Storage bucket name and path in the <strong>Bucket or folder</strong> field without the prefix <strong><code translate="no" dir="ltr">gs://</code></strong>. For example, <code translate="no" dir="ltr">my-test-bucket/path/to/files</code>. To specify a Cloud Storage bucket from another project, type the name exactly into the <strong>Bucket name</strong> field.</p></li> <li><p>Select a list of existing buckets in your projects by clicking <strong>Browse</strong>, then selecting a bucket.</p> <p>When you click <strong>Browse</strong>, you can select buckets in other projects by clicking the <strong>Project ID</strong>, then selecting the new Project ID and bucket.</p></li> <li><p>To create a new bucket, click <img src="/static/storage-transfer/docs/images/bucket_icon.png"><b>Create new bucket</b>.</p></li> </ul></li> <li><p>If this is an <a href="/storage-transfer/docs/event-driven-transfers">event-driven transfer</a>, enter the Pub/Sub subscription name, which takes the following format:</p> <div></div><devsite-code><pre translate="no" dir="ltr" is-upgraded> projects/<var translate="no">PROJECT_NAME</var>/subscriptions/<var translate="no">SUBSCRIPTION_ID</var> </pre></devsite-code></li> <li>Optionally, choose to <a href="/storage-transfer/docs/filtering-objects-from-transfers">filter objects by prefix</a> or by last modified date. If you specified a folder as your source location, prefix filters are relative to that folder. For example, if your source is <code translate="no" dir="ltr">my-test-bucket/path/</code>, an include filter of <code translate="no" dir="ltr">file</code> includes all files starting with <code translate="no" dir="ltr">my-test-bucket/path/file</code>.</li> <li><p>Click <strong>Next step</strong>.</p></li> </ol></section> <section><h3 id="amazon-s3" data-text="Amazon S3" tabindex="-1">Amazon S3</h3><p>See <a href="/storage-transfer/docs/create-transfers/agentless/s3">Transfer from Amazon S3 to Cloud Storage</a>.</p></section> <section><h3 id="s3-compatible-storage" data-text=" S3-compatible storage " tabindex="-1"> S3-compatible storage </h3><p>See <a href="/storage-transfer/docs/create-transfers/agent-based/s3-compatible">Transfer from S3-compatible storage to Cloud Storage</a>.</p></section> <section><h3 id="microsoft-azure-blob-storage" data-text=" Microsoft Azure Blob Storage " tabindex="-1"> <span class="two-line-tab"> Microsoft Azure Blob Storage</span> </h3><aside class="note"> Storage Transfer Service is able to transfer data from the following Microsoft Azure Storage regions: <ul><li><b>Americas:</b> East US, East US 2, West US, West US 2, West US 3, Central US, North Central US, South Central US, West Central US, Canada Central, Canada East, Brazil South</li> <li><b>Asia-Pacific:</b> Australia Central, Australia East, Australia Southeast, Central India, South India, West India, Southeast Asia, East Asia, Japan East, Japan West, Korea South, Korea Central</li> <li><b>Europe, Middle East, Africa (EMEA):</b> France Central, Germany West Central, Norway East, Sweden Central, Switzerland North, North Europe, West Europe, UK South, UK West, Qatar Central, UAE North, South Africa North</li> </ul> </aside> <ol> <li><p>Under <strong>Source type</strong>, select <strong>Azure Blob Storage or Data Lake Storage Gen2</strong>.</p></li> <li><p>Click <strong>Next step</strong>.</p></li> <li><p>Specify the following:</p> <ol> <li><p><strong>Storage account name</strong> — the source Microsoft Azure Storage account name.</p> <p>The storage account name is displayed in the Microsoft Azure Storage portal under <strong>All services > Storage > Storage accounts</strong>.</p></li> <li><p><strong>Container name</strong> — the Microsoft Azure Storage container name.</p> <p>The container name is displayed in the Microsoft Azure Storage portal under <strong>Storage explorer > Blob containers</strong>.</p></li> <li><p><strong>Shared access signature (SAS)</strong> — the Microsoft Azure Storage SAS token created from a stored access policy. For more information, see <a href="https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview" class="external">Grant limited access to Azure Storage resources using shared access signatures (SAS)</a>.</p> The default expiration time for SAS tokens is 8 hours. When you create your SAS token, be sure to set a reasonable expiration time that enables you to successfully complete your transfer. <aside class="caution"> <b>Caution:</b> Basic SAS tokens can't be revoked, and the only way to invalidate a basic SAS token is to remove the storage access key of your account. We strongly recommend that you create SAS tokens from stored access policies, so that you can revoke a policy to invalidate an SAS token. For more information, see <a href="https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#best-practices-when-using-sas" class="external">Best practices when using SAS</a>. </aside> <aside class="note"> <b>Note:</b> When creating an SAS key, avoid including an IP restriction. Storage Transfer Service uses various IP addresses and doesn't support IP address restriction. </aside> </li> </ol></li> <li>Optionally, choose to <a href="/storage-transfer/docs/filtering-objects-from-transfers">filter objects by prefix</a> or by last modified date. If you specified a folder as your source location, prefix filters are relative to that folder. For example, if your source is <code translate="no" dir="ltr">my-test-bucket/path/</code>, an include filter of <code translate="no" dir="ltr">file</code> includes all files starting with <code translate="no" dir="ltr">my-test-bucket/path/file</code>.</li> <li><p>Click <strong>Next step</strong>.</p></li> </ol></section> <section><h3 id="file-system" data-text=" File system " tabindex="-1"> File system </h3><ol> <li><p>Under <strong>Source type</strong>, select <strong>POSIX file system</strong>.</p></li> <li><p>Select your <strong>Destination type</strong> and click <strong>Next step</strong>.</p></li> <li><p>Select an existing agent pool, or select <strong>Create agent pool</strong> and follow the instructions to create a new pool.</p></li> <li><p>Specify the fully qualified path of the file system directory.</p></li> <li><p>Click <strong>Next step</strong>.</p></li> </ol></section> <section><h3 id="hdfs" data-text="HDFS" tabindex="-1">HDFS</h3><p>See <a href="/storage-transfer/docs/create-transfers/agent-based/hdfs">Transfer from HDFS to Cloud Storage</a>.</p></section> <section><h3 id="url-list" data-text="URL list" tabindex="-1">URL list</h3><ol> <li><p>Under <strong>Source type</strong>, select <strong>URL list</strong> and click <strong>Next step</strong>.</p></li> <li><p>Under <strong>URL of TSV file</strong>, provide the URL to a tab-separated values (TSV) file. See <a href="/storage-transfer/docs/create-url-list">Creating a URL List</a> for details about how to create the TSV file.</p></li> <li>Optionally, choose to <a href="/storage-transfer/docs/filtering-objects-from-transfers">filter objects by prefix</a> or by last modified date. If you specified a folder as your source location, prefix filters are relative to that folder. For example, if your source is <code translate="no" dir="ltr">my-test-bucket/path/</code>, an include filter of <code translate="no" dir="ltr">file</code> includes all files starting with <code translate="no" dir="ltr">my-test-bucket/path/file</code>.</li> <li><p>Click <strong>Next step</strong>.</p></li> </ol></section> </div></li> <li><p>Choose a destination:</p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section><h3 id="cloud-storage" data-text=" Cloud Storage " tabindex="-1"> Cloud Storage </h3><ol> <li><p>In the <strong>Bucket or folder</strong> field, enter the destination bucket and (optionally) folder name, or click <strong>Browse</strong> to select a bucket from a list of existing buckets in your current project. To create a new bucket, click <img src="/static/storage-transfer/docs/images/bucket_icon.png"><b>Create new bucket</b>.</p></li> <li><p>Click <strong>Next step</strong>.</p></li> <li><p>Choose settings for the transfer job. Some options are only available for certain source/sink combinations.</p> <ol> <li><p>In the <strong>Description</strong> field, enter a description of the transfer. As a best practice, enter a description that is meaningful and unique so that you can tell jobs apart.</p></li> <li><p>Under <strong>Metadata options</strong>, choose to use the default options, or click <strong>View and select options</strong> to specify values for all supported metadata. See <a href="/storage-transfer/docs/metadata-preservation">Metadata preservation</a> for details.</p></li> <li><p>Under <strong>When to overwrite</strong>, select one of the following:</p> <ul> <li><p><strong>If different</strong>: Overwrites destination files if the source file with the same name has different Etags or checksum values.</p></li> <li><p><strong>Always</strong>: Always overwrites destination files when the source file has the same name, even if they're identical.</p></li> </ul></li> <li><p>Under <strong>When to delete</strong>, select one of the following:</p> <ul> <li><p><strong>Never</strong>: Never delete files from either the source or destination.</p></li> <li><p><strong>Delete file from source after they're transferred</strong>: Delete files from the source after they're transferred to the destination.</p> <aside class="special"><strong>Important:</strong><span> If you don't have local backup, this option is a non-reversible action.</span></aside></li> <li><p><strong>Delete files from destination if they're not also at source</strong>: If files in the destination Cloud Storage bucket aren't also in the source, then delete the files from the Cloud Storage bucket.</p> <p>This option ensures that the destination Cloud Storage bucket exactly matches your source.</p></li> </ul></li> <li><p>Under <strong>Notification options</strong>, select your Pub/Sub topic and which events to notify for. See <a href="/storage-transfer/docs/pub-sub-transfer">Pub/Sub notifications</a> for more details.</p></li> </ol></li> <li><p>Click <strong>Next step</strong>.</p></li> </ol></section> <section><h3 id="file-system" data-text=" File system " tabindex="-1"> File system </h3><ol> <li><p>Select an existing agent pool, or select <strong>Create agent pool</strong> and follow the instructions to create a new pool.</p></li> <li><p>Specify the fully qualified destination directory path.</p></li> <li><p>Click <strong>Next step</strong>.</p></li> </ol></section> </div></li> <li><p>Choose your scheduling options:</p> <aside class="note"><strong>Note:</strong><span> The Storage Transfer Service displays transfer job schedules in your local timezone, but it stores those times in Universal Time Coordinated (UTC). If you are affected by Daylight Savings Time (DST), you might experience a transfer job schedule change when DST starts or ends.</span></aside> <ol> <li><p>From the <strong>Run once</strong> drop-down list, select one of the following:</p> <ul> <li><p><strong>Run once</strong>: Runs a single transfer, starting at a time that you select.</p></li> <li><p><strong>Run every day</strong>: Runs a transfer daily, starting at a time that you select.</p> <p>You can enter an optional <strong>End date</strong>, or leave <strong>End date</strong> blank to run the transfer continually.</p></li> <li><p><strong>Run every week</strong>: Runs a transfer weekly, starting at a time that you select.</p></li> <li><p><strong>Run with custom frequency</strong>: Runs a transfer at a frequency that you select. You can choose to repeat the transfer at a regular interval of <strong>Hours</strong>, <strong>Days</strong>, or <strong>Weeks</strong>.</p> <p>You can enter an optional <strong>End date</strong>, or leave <strong>End date</strong> blank to run the transfer continually.</p></li> </ul></li> <li><p>From the <strong>Starting now</strong> drop-down list, select one of the following:</p> <ul> <li><p><strong>Starting now</strong>: Starts the transfer after you click <strong>Create</strong>.</p></li> <li><p><strong>Starting on</strong>: Starts the transfer on the date and time that you select. Click <strong>Calendar</strong> to display a calendar to select the start date.</p></li> </ul></li> <li><p>To create your transfer job, click <strong>Create</strong>.</p></li> </ol></li> </ol></section> <section><h3 id="gcloud-cli" data-text=" gcloud CLI " tabindex="-1"> gcloud CLI </h3><p>To create a new transfer job, use the <code translate="no" dir="ltr">gcloud transfer jobs create</code> command. Creating a new job initiates the specified transfer, unless a schedule or <code translate="no" dir="ltr">--do-not-run</code> is specified.</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">gcloud<span class="devsite-syntax-w"> </span>transfer<span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">jobs</span><span class="devsite-syntax-w"> </span>create<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span><var translate="no">SOURCE</var><span class="devsite-syntax-w"> </span><var translate="no">DESTINATION</var> </code></pre></devsite-code> <p>Where:</p> <ul> <li><p><var translate="no">SOURCE</var> is the data source for this transfer. The format for each source is:</p> <ul> <li>Cloud Storage: <code translate="no" dir="ltr">gs://<var translate="no">BUCKET_NAME</var></code>. To transfer from a specific folder, specify <code translate="no" dir="ltr">gs://<var translate="no">BUCKET_NAME</var>/<var translate="no">FOLDER_PATH</var>/</code>, including the trailing slash.</li> <li>Amazon S3: <code translate="no" dir="ltr">s3://<var translate="no">BUCKET_NAME/FOLDER_PATH</var></code></li> <li>S3-compatible storage: <code translate="no" dir="ltr">s3://<var translate="no">BUCKET_NAME</var></code>. The bucket name is relative to the endpoint. For example, if your data resides at <code translate="no" dir="ltr">https://us-east-1.example.com/folder1/bucket_a</code>, enter <code translate="no" dir="ltr">s3://folder1/bucket_a</code>.</li> <li>Microsoft Azure Storage: <code translate="no" dir="ltr">https://myaccount.blob.core.windows.net/<var translate="no">CONTAINER_NAME</var></code></li> <li>URL list: <code translate="no" dir="ltr">https://<var translate="no">PATH_TO_URL_LIST</var></code> or <code translate="no" dir="ltr">http://<var translate="no">PATH_TO_URL_LIST</var></code></li> <li>POSIX file system: <code translate="no" dir="ltr">posix://<var translate="no">/PATH</var></code>. This must be an absolute path from the root of the agent host machine.</li> <li>HDFS: <code translate="no" dir="ltr">hdfs://<var translate="no">/PATH</var></code></li> </ul></li> <li><p><var translate="no">DESTINATION</var> is one of:</p> <ul> <li>Cloud Storage: <code translate="no" dir="ltr">gs://<var translate="no">BUCKET_NAME</var></code>. To transfer into a specific directory, specify <code translate="no" dir="ltr">gs://<var translate="no">BUCKET_NAME</var>/<var translate="no">FOLDER_PATH</var>/</code>, including the trailing slash.</li> <li>POSIX file system: <code translate="no" dir="ltr">posix://<var translate="no">/PATH</var></code>. This must be an absolute path from the root of the agent host machine.</li> </ul></li> </ul> <p>If the transfer requires transfer agents, the following options are available:</p> <ul> <li><p><code translate="no" dir="ltr">--source-agent-pool</code> specifies the source agent pool to use for this transfer. Required for transfers originating from a file system.</p></li> <li><p><code translate="no" dir="ltr">--destination-agent-pool</code> specifies the destination agent pool to use for this transfer. Required for transfers to a file system.</p></li> <li><p><code translate="no" dir="ltr">--intermediate-storage-path</code> is the path to a Cloud Storage bucket, in the form <code translate="no" dir="ltr">gs://my-intermediary-bucket</code>. Required for transfers between two file systems. See <a href="/storage-transfer/docs/file-to-file#create_a_bucket_as_an_intermediary">Create a Cloud Storage bucket as an intermediary</a> for details on creating the intermediate bucket.</p></li> </ul> <p>Additional options include:</p> <ul> <li><p><code translate="no" dir="ltr">--source-creds-file</code> specifies the relative path to a local file on your machine that includes AWS or Azure credentials for the transfer source. For credential file formatting information, see the <a href="/storage-transfer/docs/reference/rest/v1/TransferSpec">TransferSpec</a> reference.</p></li> <li><p><code translate="no" dir="ltr">--do-not-run</code> prevents Storage Transfer Service from running the job upon submission of the command. To run the job, <a href="#update-job">update</a> it to add a schedule, or use <code translate="no" dir="ltr">jobs run</code> to <a href="#run-job">start it manually</a>.</p></li> <li><p><code translate="no" dir="ltr">--manifest-file</code> specifies the path to a CSV file in Cloud Storage containing a list of files to transfer from your source. For manifest file formatting, see <a href="/storage-transfer/docs/manifest">Transfer specific files or objects using a manifest</a>.</p></li> <li><p><strong>Job information</strong>: You can specify <code translate="no" dir="ltr">--name</code>, <code translate="no" dir="ltr">--description</code>, and <code translate="no" dir="ltr">--source-creds-file</code>.</p></li> <li><p><strong>Schedule</strong>: Specify <code translate="no" dir="ltr">--schedule-starts</code>, <code translate="no" dir="ltr">--schedule-repeats-every</code>, and <code translate="no" dir="ltr">--schedule-repeats-until</code>, or <code translate="no" dir="ltr">--do-not-run</code>.</p></li> <li><p><strong>Object conditions</strong>: Use conditions to determine which objects are transferred. These include <code translate="no" dir="ltr">--include-prefixes</code> and <code translate="no" dir="ltr">--exclude-prefixes</code>, and the time-based conditions in <code translate="no" dir="ltr">--include-modified-[before | after]-[absolute | relative]</code>. If you specified a folder with your source, prefix filters are relative to that folder. See <a href="/storage-transfer/docs/filtering-objects-from-transfers">Filter source objects by prefix</a> for more information.</p> <p>Object conditions aren't supported for transfers involving file systems.</p></li> <li><p><strong>Transfer options</strong>: Specify whether to overwrite destination files (<code translate="no" dir="ltr">--overwrite-when=different</code> or <code translate="no" dir="ltr">always</code>) and whether to delete certain files during or after the transfer (<code translate="no" dir="ltr">--delete-from=destination-if-unique</code> or <code translate="no" dir="ltr">source-after-transfer</code>); specify which <a href="/storage-transfer/docs/metadata-preservation">metadata values to preserve</a> (<code translate="no" dir="ltr">--preserve-metadata</code>); and optionally set a storage class on transferred objects (<code translate="no" dir="ltr">--custom-storage-class</code>).</p></li> <li><p><strong>Notifications</strong>: Configure <a href="/storage-transfer/docs/pub-sub-transfer">Pub/Sub notifications for transfers</a> with <code translate="no" dir="ltr">--notification-pubsub-topic</code>, <code translate="no" dir="ltr">--notification-event-types</code>, and <code translate="no" dir="ltr">--notification-payload-format</code>.</p></li> <li><p><strong>Cloud Logging</strong>: Enable Cloud Logging for agentless transfers, or transfers from S3-compatible sources, with <code translate="no" dir="ltr">--log-actions</code> and <code translate="no" dir="ltr">--log-action-states</code>. See <a href="/storage-transfer/docs/transfer-logs">Cloud Logging for Storage Transfer Service</a> for details.</p></li> </ul> <p>Transfers from S3-compatible sources also use the following options:</p> <ul> <li><code translate="no" dir="ltr">--source-endpoint</code> (required) specifies your storage system's endpoint. For example, <code translate="no" dir="ltr">s3.example.com</code>. Check with your provider for the correct formatting. Do not specify the protocol (<code translate="no" dir="ltr">http://</code> or <code translate="no" dir="ltr">https://</code>).</li> <li><code translate="no" dir="ltr">--source-signing-region</code> specifies a region for signing requests. Omit this flag if your storage provider doesn't require a signing region.</li> <li><code translate="no" dir="ltr">--source-auth-method</code> specifies the authentication method to use. Valid values are <code translate="no" dir="ltr">AWS_SIGNATURE_V2</code> or <code translate="no" dir="ltr">AWS_SIGNATURE_V4</code>. Refer to Amazon's <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">SigV4</a> and <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-2.html">SigV2</a> documentation for more information.</li> <li><code translate="no" dir="ltr">--source-request-model</code> specifies the addressing style to use. Valid values are <code translate="no" dir="ltr">PATH_STYLE</code> or <code translate="no" dir="ltr">VIRTUAL_HOSTED_STYLE</code>. Path style uses the format <code translate="no" dir="ltr">https://s3.example.com/<var translate="no">BUCKET_NAME</var>/<var translate="no">KEY_NAME</var></code>. Virtual hosted style uses the format `https://<var translate="no">BUCKET_NAME</var>.s3.example.com/<var translate="no">KEY_NAME</var>.</li> <li><code translate="no" dir="ltr">--source-network-protocol</code> specifies the network protocol that agents should use for this job. Valid values are <code translate="no" dir="ltr">HTTP</code> or <code translate="no" dir="ltr">HTTPS</code>.</li> <li><code translate="no" dir="ltr">--source-list-api</code> specifies the version of the S3 listing API for returning objects from the bucket. Valid values are <code translate="no" dir="ltr">LIST_OBJECTS</code> or <code translate="no" dir="ltr">LIST_OBJECTS_V2</code>. Refer to Amazon's <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html">ListObjectsV2</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html">ListObjects</a> documentation for more information.</li> </ul> <p>To view all options, run <code translate="no" dir="ltr">gcloud transfer jobs create --help</code> or refer to the <a href="/sdk/gcloud/reference/transfer/jobs/create"><code translate="no" dir="ltr">gcloud</code> reference documentation</a>.</p> <h3 id="examples" data-text="Examples" tabindex="-1">Examples</h3> <h4 id="to" data-text="Amazon S3 to Cloud Storage" tabindex="-1">Amazon S3 to Cloud Storage</h4> <p>See <a href="/storage-transfer/docs/create-transfers/agentless/s3">Transfer from Amazon S3 to Cloud Storage</a>.</p> <h4 id="s3-compatible_storage_to" data-text="S3-compatible storage to Cloud Storage" tabindex="-1">S3-compatible storage to Cloud Storage</h4> <p>See <a href="/storage-transfer/docs/create-transfers/agent-based/s3-compatible">Transfer from S3-compatible storage to Cloud Storage</a>.</p> <h4 id="file_system_to" data-text="File system to Cloud Storage" tabindex="-1">File system to Cloud Storage</h4> <p>See <a href="/storage-transfer/docs/create-transfers/agent-based/file-system-to-cloud-storage">Transfer from a file system to Cloud Storage</a>.</p> <h4 id="to_file_system" data-text="Cloud Storage to file system" tabindex="-1">Cloud Storage to file system</h4> <p>To transfer from a Cloud Storage bucket to a file system, specify the following.</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">gcloud<span class="devsite-syntax-w"> </span>transfer<span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">jobs</span><span class="devsite-syntax-w"> </span>create<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>gs://my-storage-bucket<span class="devsite-syntax-w"> </span>posix:///tmp/destination<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>--destination-agent-pool<span class="devsite-syntax-o">=</span>my-destination-agent-pool </code></pre></devsite-code> <h4 id="file_system_to_file_system" data-text="File system to file system" tabindex="-1">File system to file system</h4> <p>To transfer between two file systems, you must specify a source agent pool, a destination agent pool, and an intermediate Cloud Storage bucket through which the data passes.</p> <p>See <a href="/storage-transfer/docs/file-to-file#create_a_bucket_as_an_intermediary">Create a Cloud Storage bucket as an intermediary</a> for details on the intermediate bucket.</p> <p>Then, specify these 3 resources when calling <code translate="no" dir="ltr">transfer jobs create</code>:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">gcloud<span class="devsite-syntax-w"> </span>transfer<span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">jobs</span><span class="devsite-syntax-w"> </span>create<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>posix:///tmp/source/on/systemA<span class="devsite-syntax-w"> </span>posix:///tmp/destination/on/systemB<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>--source-agent-pool<span class="devsite-syntax-o">=</span>source_agent_pool<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>--destination-agent-pool<span class="devsite-syntax-o">=</span>destination_agent_pool<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span> <span class="devsite-syntax-w"> </span>--intermediate-storage-path<span class="devsite-syntax-o">=</span>gs://my-intermediary-bucket </code></pre></devsite-code></section> <section><h3 id="rest" data-text=" REST " tabindex="-1"> REST </h3><p>The following samples show you how to use Storage Transfer Service through the REST API.</p> <p>When you configure or edit transfer jobs using the Storage Transfer Service API, the time must be in UTC. For more information on specifying the schedule of a transfer job, see <a href="/storage-transfer/docs/reference/rest/v1/transferJobs#Schedule">Schedule</a>.</p> <h2 id="cloud-to-cloud" data-text="Transfer between Cloud Storage buckets" tabindex="-1">Transfer between Cloud Storage buckets</h2> <p>In this example, you'll learn how to move files from one Cloud Storage bucket to another. For example, you can move data to a bucket in another <a href="/storage/docs/bucket-locations">location</a>.</p> <aside class="note"><strong>Note:</strong><span> The process is the same if the bucket is located in a different project.</span></aside> <p>Request using <a href="/storage-transfer/docs/reference/rest/v1/transferJobs/create">transferJobs create</a>:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JSON"><span class="devsite-syntax-err">POST</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">h</span><span class="devsite-syntax-kc">tt</span><span class="devsite-syntax-err">ps</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-c1">//storagetransfer.googleapis.com/v1/transferJobs</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"description"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"YOUR DESCRIPTION"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"status"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"ENABLED"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"projectId"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"PROJECT_ID"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"schedule"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"scheduleStartDate"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"day"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"month"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"year"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2015</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"startTimeOfDay"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"hours"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"minutes"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferSpec"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"gcsDataSource"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"bucketName"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"GCS_SOURCE_NAME"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"gcsDataSink"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"bucketName"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"GCS_SINK_NAME"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferOptions"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"deleteObjectsFromSourceAfterTransfer"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">true</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> Response: <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JSON"><span class="devsite-syntax-mi">200</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">OK</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferJob"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"creationTime"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"2015-01-01T01:01:00.000000000Z"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"description"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"YOUR DESCRIPTION"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"name"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"transferJobs/JOB_ID"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"status"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"ENABLED"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"lastModificationTime"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"2015-01-01T01:01:00.000000000Z"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"projectId"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"PROJECT_ID"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"schedule"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"scheduleStartDate"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"day"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"month"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"year"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2015</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"startTimeOfDay"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"hours"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"minutes"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferSpec"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"gcsDataSource"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"bucketName"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"GCS_SOURCE_NAME"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"gcsDataSink"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"bucketName"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"GCS_NEARLINE_SINK_NAME"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"objectConditions"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"minTimeElapsedSinceLastModification"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"2592000.000s"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferOptions"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"deleteObjectsFromSourceAfterTransfer"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">true</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> <h2 id="s3-to-cloud" data-text="Transfer from Amazon S3 to Cloud Storage" tabindex="-1">Transfer from Amazon S3 to Cloud Storage</h2> <p>See <a href="/storage-transfer/docs/create-transfers/agentless/s3">Transfer from Amazon S3 to Cloud Storage</a>.</p> <h2 id="azure-to-cloud" data-text="Transfer between Microsoft Azure Blob Storage and Cloud Storage" tabindex="-1">Transfer between Microsoft Azure Blob Storage and Cloud Storage</h2> <p>In this example, you'll learn how to move files from Microsoft Azure Storage to a Cloud Storage bucket, using a Microsoft Azure Storage shared access signature (SAS) token.</p> <p>For more information on Microsoft Azure Storage SAS, see <a href="https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview" class="external">Grant limited access to Azure Storage resources using shared access signatures (SAS)</a>.</p> <p>Before starting, review <a href="/storage-transfer/docs/source-microsoft-azure">Configure access to Microsoft Azure Storage</a> and <a href="/storage-transfer/pricing">Pricing</a> to understand the implications of moving data from Microsoft Azure Storage to Cloud Storage.</p> <aside class="note"> Storage Transfer Service is able to transfer data from the following Microsoft Azure Storage regions: <ul><li><b>Americas:</b> East US, East US 2, West US, West US 2, West US 3, Central US, North Central US, South Central US, West Central US, Canada Central, Canada East, Brazil South</li> <li><b>Asia-Pacific:</b> Australia Central, Australia East, Australia Southeast, Central India, South India, West India, Southeast Asia, East Asia, Japan East, Japan West, Korea South, Korea Central</li> <li><b>Europe, Middle East, Africa (EMEA):</b> France Central, Germany West Central, Norway East, Sweden Central, Switzerland North, North Europe, West Europe, UK South, UK West, Qatar Central, UAE North, South Africa North</li> </ul> </aside> <p>Request using <a href="/storage-transfer/docs/reference/rest/v1/transferJobs/create">transferJobs create</a>: <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JSON"><span class="devsite-syntax-err">POST</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">h</span><span class="devsite-syntax-kc">tt</span><span class="devsite-syntax-err">ps</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-c1">//storagetransfer.googleapis.com/v1/transferJobs</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"description"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"YOUR DESCRIPTION"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"status"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"ENABLED"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"projectId"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"PROJECT_ID"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"schedule"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"scheduleStartDate"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"day"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">14</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"month"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"year"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2020</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"scheduleEndDate"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"day"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">14</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"month"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"year"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2020</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"startTimeOfDay"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"hours"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"minutes"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferSpec"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"azureBlobStorageDataSource"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"storageAccount"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"AZURE_SOURCE_NAME"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"azureCredentials"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"sasToken"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"AZURE_SAS_TOKEN"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"container"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"AZURE_CONTAINER"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"gcsDataSink"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"bucketName"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"GCS_SINK_NAME"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> Response: <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JSON"><span class="devsite-syntax-mi">200</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">OK</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferJob"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"creationTime"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"2020-02-14T01:01:00.000000000Z"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"description"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"YOUR DESCRIPTION"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"name"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"transferJobs/JOB_ID"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"status"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"ENABLED"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"lastModificationTime"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"2020-02-14T01:01:00.000000000Z"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"projectId"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"PROJECT_ID"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"schedule"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"scheduleStartDate"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"day"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">14</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"month"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"year"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2020</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"scheduleEndDate"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"day"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">14</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"month"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"year"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2020</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"startTimeOfDay"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"hours"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"minutes"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferSpec"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"azureBlobStorageDataSource"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"storageAccount"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"AZURE_SOURCE_NAME"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"azureCredentials"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"sasToken"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"AZURE_SAS_TOKEN"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"container"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"AZURE_CONTAINER"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"objectConditions"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferOptions"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-p">}</span></pre></devsite-code></p> <h2 id="transfer_from_a_file_system" data-text="Transfer from a file system" tabindex="-1">Transfer from a file system</h2> <p>See <a href="/storage-transfer/docs/create-transfers/agent-based/file-system-to-cloud-storage">Transfer from a file system to Cloud Storage</a>.</p> <h2 id="source-destination-paths" data-text="Specifying source and destination paths" tabindex="-1">Specifying source and destination paths</h2> <p>Source and destination paths enable you to specify source and destination directories when transferring data to your Cloud Storage bucket. For example, consider that you have files <code translate="no" dir="ltr">file1.txt</code> and <code translate="no" dir="ltr">file2.txt</code> and a Cloud Storage bucket named <code translate="no" dir="ltr">B</code>. If you set a destination path named <code translate="no" dir="ltr">my-stuff</code>, then after the transfer completes your files are located at <code translate="no" dir="ltr">gs://B/my-stuff/file1.txt</code> and <code translate="no" dir="ltr">gs://B/my-stuff/file2.txt</code>.</p> <p><strong>Specifying a source path</strong></p> <p>To specify a source path when creating a transfer job, add a <code translate="no" dir="ltr">path</code> field to the <code translate="no" dir="ltr">gcsDataSource</code> field in your <a href="/storage-transfer/docs/reference/rest/v1/TransferSpec"><code translate="no" dir="ltr">TransferSpec</code></a> specification:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JSON"><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-err">gcsDa</span><span class="devsite-syntax-kc">ta</span><span class="devsite-syntax-err">Source</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">bucke</span><span class="devsite-syntax-kc">t</span><span class="devsite-syntax-err">Name</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"<var translate="no">SOURCE_BUCKET</var>"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">pa</span><span class="devsite-syntax-kc">t</span><span class="devsite-syntax-err">h</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"<var translate="no">SOURCE_PATH</var>/"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> <p>In this example:</p> <ul> <li><var translate="no">SOURCE_BUCKET</var>: The source Cloud Storage bucket.</li> <li><var translate="no">SOURCE_PATH</var>: The source Cloud Storage path.</li> </ul> <p><strong>Specifying a destination path</strong></p> <p>To specify a destination folder when you create a transfer job, add a <code translate="no" dir="ltr">path</code> field to the <code translate="no" dir="ltr">gcsDataSink</code> field in your <a href="/storage-transfer/docs/reference/rest/v1/TransferSpec"><code translate="no" dir="ltr">TransferSpec</code></a> specification:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JSON"><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-err">gcsDa</span><span class="devsite-syntax-kc">ta</span><span class="devsite-syntax-err">Si</span><span class="devsite-syntax-kc">n</span><span class="devsite-syntax-err">k</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">bucke</span><span class="devsite-syntax-kc">t</span><span class="devsite-syntax-err">Name</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"<var translate="no">DESTINATION_BUCKET</var>"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">pa</span><span class="devsite-syntax-kc">t</span><span class="devsite-syntax-err">h</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"<var translate="no">DESTINATION_PATH</var>/"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> <p>In this example:</p> <ul> <li><var translate="no">DESTINATION_BUCKET</var>: The destination Cloud Storage bucket.</li> <li><var translate="no">DESTINATION_PATH</var>: The destination Cloud Storage path.</li> </ul> <p><strong>Complete example request</strong></p> <p>The following is an example of a full request:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JSON"><span class="devsite-syntax-err">POST</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-err">h</span><span class="devsite-syntax-kc">tt</span><span class="devsite-syntax-err">ps</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-c1">//storagetransfer.googleapis.com/v1/transferJobs</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"description"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"YOUR DESCRIPTION"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"status"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"ENABLED"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"projectId"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"PROJECT_ID"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"schedule"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"scheduleStartDate"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"day"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"month"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"year"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2015</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"startTimeOfDay"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"hours"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"minutes"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferSpec"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"gcsDataSource"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"bucketName"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"GCS_SOURCE_NAME"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"path"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"GCS_SOURCE_PATH"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"gcsDataSink"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"bucketName"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"GCS_SINK_NAME"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"path"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"GCS_SINK_PATH"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"objectConditions"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"minTimeElapsedSinceLastModification"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"2592000s"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"transferOptions"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nt">"deleteObjectsFromSourceAfterTransfer"</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">true</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span></pre></devsite-code></section> <section><h3 id="client-libraries" data-text=" Client libraries " tabindex="-1"> Client libraries </h3><p>The following samples show you how to use Storage Transfer Service programmatically with Go, Java, Node.js, and Python.</p> <p>When you configure or edit transfer jobs programmatically, the time must be in UTC. For more information on specifying the schedule of a transfer job, see <a href="/storage-transfer/docs/reference/rest/v1/transferJobs#Schedule">Schedule</a>.</p> <p>For more information about the Storage Transfer Service client libraries, see <a href="/storage-transfer/docs/libraries">Getting started with Storage Transfer Service client libraries</a>.</p> <h2 id="cloud-to-cloud" data-text="Transfer between Cloud Storage buckets" tabindex="-1">Transfer between Cloud Storage buckets</h2> <p>In this example, you'll learn how to move files from one Cloud Storage bucket to another. For example, you can move data to a bucket in another <a href="/storage/docs/bucket-locations">location</a>.</p> <aside class="note"><strong>Note:</strong><span> The process is the same if the bucket is located in a different project.</span></aside> <div class="ds-selector-tabs" id="create-transfer3"> <section> <h3 id="go" data-text="Go" tabindex="-1">Go</h3> <div class="github-docwidget-gitinclude-code"> <div></div><devsite-code><pre suppresswarning="suppresswarning" translate="no" class="devsite-click-to-copy" track-metadata-position="GoogleCloudPlatform/golang-samples/storagetransfer/transfer_to_nearline.go/HEAD/storagetransfer_transfer_to_nearline" data-code-snippet="true" data-github-includecode-link="https://github.com/GoogleCloudPlatform/golang-samples/blob/HEAD/storagetransfer/transfer_to_nearline.go" data-github-path="GoogleCloudPlatform/golang-samples/storagetransfer/transfer_to_nearline.go" data-git-revision="HEAD" data-region-tag="storagetransfer_transfer_to_nearline" dir="ltr" is-upgraded syntax="Go"><code translate="no" dir="ltr"><span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"context"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"fmt"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"io"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"time"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"google.golang.org/genproto/googleapis/type/date"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"google.golang.org/genproto/googleapis/type/timeofday"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"google.golang.org/protobuf/types/known/durationpb"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">storagetransfer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"cloud.google.com/go/storagetransfer/apiv1"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"cloud.google.com/go/storagetransfer/apiv1/storagetransferpb"</span> <span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">func</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">transferToNearline</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">w</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">io</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Writer</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">projectID</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">string</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsSourceBucket</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">string</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsNearlineSinkBucket</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">string</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferJob</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">error</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Your Google Cloud Project ID</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// projectID := "my-project-id"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The name of the GCS bucket to transfer objects from</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// gcsSourceBucket := "my-source-bucket"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The name of the Nearline GCS bucket to transfer objects to</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// gcsNearlineSinkBucket := "my-sink-bucket"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">context</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Background</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">storagetransfer</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">NewClient</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">!=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">fmt</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Errorf</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"storagetransfer.NewClient: %w"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">defer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Close</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// A description of this job</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">jobDescription</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"Transfers objects that haven't been modified in 30 days to a Nearline bucket"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The time to start the transfer</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">startTime</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">time</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Now</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-nx">UTC</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">req</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">CreateTransferJobRequest</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">TransferJob</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferJob</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ProjectId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">projectID</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Description</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">jobDescription</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">TransferSpec</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferSpec</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">DataSink</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferSpec_GcsDataSink</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">GcsDataSink</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">GcsData</span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-nx">BucketName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsNearlineSinkBucket</span><span class="devsite-syntax-p">}},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">DataSource</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferSpec_GcsDataSource</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">GcsDataSource</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">GcsData</span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-nx">BucketName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsSourceBucket</span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ObjectConditions</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">ObjectConditions</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">MinTimeElapsedSinceLastModification</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">durationpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Duration</span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-nx">Seconds</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">2592000</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-cm">/*30 days */</span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">TransferOptions</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferOptions</span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-nx">DeleteObjectsFromSourceAfterTransfer</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">true</span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Schedule</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Schedule</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ScheduleStartDate</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">date</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Date</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Year</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">int32</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">startTime</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Year</span><span class="devsite-syntax-p">()),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Month</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">int32</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">startTime</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Month</span><span class="devsite-syntax-p">()),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Day</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">int32</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">startTime</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Day</span><span class="devsite-syntax-p">()),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ScheduleEndDate</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">date</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Date</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Year</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">int32</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">startTime</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Year</span><span class="devsite-syntax-p">()),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Month</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">int32</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">startTime</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Month</span><span class="devsite-syntax-p">()),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Day</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">int32</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">startTime</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Day</span><span class="devsite-syntax-p">()),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">StartTimeOfDay</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">timeofday</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TimeOfDay</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Hours</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">int32</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">startTime</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Hour</span><span class="devsite-syntax-p">()),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Minutes</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">int32</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">startTime</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Minute</span><span class="devsite-syntax-p">()),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Seconds</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">int32</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">startTime</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Second</span><span class="devsite-syntax-p">()),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Status</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferJob_ENABLED</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resp</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">CreateTransferJob</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">req</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">!=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">fmt</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Errorf</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"failed to create transfer job: %w"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">_</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">RunTransferJob</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">RunTransferJobRequest</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ProjectId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">projectID</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">JobName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resp</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Name</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">!=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">fmt</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Errorf</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"failed to run transfer job: %w"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">fmt</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Fprintf</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">w</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"Created and ran transfer job from %v to %v with name %v"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsSourceBucket</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsNearlineSinkBucket</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resp</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Name</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resp</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span> <span class="devsite-syntax-p">}</span> </code></pre></devsite-code> </div> </section> <section> <h3 id="java" data-text="Java" tabindex="-1">Java</h3> <p>Looking for older samples? See the <a href="/storage-transfer/docs/reference/migration-guide">Storage Transfer Service Migration Guide</a>. <div class="github-docwidget-gitinclude-code"> <div></div><devsite-code><pre suppresswarning="suppresswarning" translate="no" class="devsite-click-to-copy" track-metadata-position="GoogleCloudPlatform/java-docs-samples/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferToNearline.java/HEAD/storagetransfer_transfer_to_nearline" data-code-snippet="true" data-github-includecode-link="https://github.com/GoogleCloudPlatform/java-docs-samples/blob/HEAD/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferToNearline.java" data-github-path="GoogleCloudPlatform/java-docs-samples/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferToNearline.java" data-git-revision="HEAD" data-region-tag="storagetransfer_transfer_to_nearline" dir="ltr" is-upgraded syntax="Java"><code translate="no" dir="ltr"><span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.protobuf.Duration</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.StorageTransferServiceClient</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferProto.CreateTransferJobRequest</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.GcsData</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.ObjectConditions</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.Schedule</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.TransferJob</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.TransferJob.Status</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.TransferOptions</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.TransferSpec</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.type.Date</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.type.TimeOfDay</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">java.io.IOException</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">java.util.Calendar</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">class</span> <span class="devsite-syntax-nc">TransferToNearline</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-cm">/**</span> <span class="devsite-syntax-cm"> * Creates a one-off transfer job that transfers objects in a standard GCS bucket that are more</span> <span class="devsite-syntax-cm"> * than 30 days old to a Nearline GCS bucket.</span> <span class="devsite-syntax-cm"> */</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">static</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">void</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">transferToNearline</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">projectId</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">jobDescription</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gcsSourceBucket</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gcsNearlineSinkBucket</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">long</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">startDateTime</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">throws</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">IOException</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Your Google Cloud Project ID</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// String projectId = "your-project-id";</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// A short description of this job</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// String jobDescription = "Sample transfer job of old objects to a Nearline GCS bucket.";</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The name of the source GCS bucket to transfer data from</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// String gcsSourceBucket = "your-gcs-source-bucket";</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The name of the Nearline GCS bucket to transfer old objects to</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// String gcsSinkBucket = "your-nearline-gcs-bucket";</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// What day and time in UTC to start the transfer, expressed as an epoch date timestamp.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// If this is in the past relative to when the job is created, it will run the next day.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// long startDateTime =</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2000-01-01 00:00:00").getTime();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Parse epoch timestamp into the model classes</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Calendar</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">startCalendar</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Calendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">getInstance</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">startCalendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setTimeInMillis</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">startDateTime</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Note that this is a Date from the model class package, not a java.util.Date</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Date</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">date</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Date</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setYear</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">startCalendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">get</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">Calendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">YEAR</span><span class="devsite-syntax-p">))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setMonth</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">startCalendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">get</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">Calendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">MONTH</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mi">1</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setDay</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">startCalendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">get</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">Calendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">DAY_OF_MONTH</span><span class="devsite-syntax-p">))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">build</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TimeOfDay</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">time</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TimeOfDay</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setHours</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">startCalendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">get</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">Calendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">HOUR_OF_DAY</span><span class="devsite-syntax-p">))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setMinutes</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">startCalendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">get</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">Calendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">MINUTE</span><span class="devsite-syntax-p">))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setSeconds</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">startCalendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">get</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">Calendar</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">SECOND</span><span class="devsite-syntax-p">))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">build</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferJob</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transferJob</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferJob</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setDescription</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">jobDescription</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setProjectId</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">projectId</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setTransferSpec</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferSpec</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setGcsDataSource</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">GcsData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-na">setBucketName</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">gcsSourceBucket</span><span class="devsite-syntax-p">))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setGcsDataSink</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">GcsData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-na">setBucketName</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">gcsNearlineSinkBucket</span><span class="devsite-syntax-p">))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setObjectConditions</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ObjectConditions</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setMinTimeElapsedSinceLastModification</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Duration</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-na">setSeconds</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mi">2592000</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-cm">/* 30 days */</span><span class="devsite-syntax-p">)))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setTransferOptions</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferOptions</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-na">setDeleteObjectsFromSourceAfterTransfer</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kc">true</span><span class="devsite-syntax-p">)))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setSchedule</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">Schedule</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-na">setScheduleStartDate</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">date</span><span class="devsite-syntax-p">).</span><span class="devsite-syntax-na">setStartTimeOfDay</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">time</span><span class="devsite-syntax-p">))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setStatus</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">Status</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">ENABLED</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">build</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Create a Transfer Service client</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">StorageTransferServiceClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">storageTransfer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">StorageTransferServiceClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">create</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Create the transfer job</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferJob</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">storageTransfer</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">createTransferJob</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">CreateTransferJobRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-na">setTransferJob</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">transferJob</span><span class="devsite-syntax-p">).</span><span class="devsite-syntax-na">build</span><span class="devsite-syntax-p">());</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">System</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">out</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">println</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Created transfer job from standard bucket to Nearline bucket:"</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">System</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">out</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">println</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">toString</span><span class="devsite-syntax-p">());</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span></code></pre></devsite-code> </div> </section> <section> <h3 id="node.js" data-text="Node.js" tabindex="-1">Node.js</h3> <div class="github-docwidget-gitinclude-code"> <div></div><devsite-code><pre suppresswarning="suppresswarning" translate="no" class="devsite-click-to-copy" track-metadata-position="GoogleCloudPlatform/nodejs-docs-samples/storagetransfer/nearline-request.js/HEAD/storagetransfer_transfer_to_nearline" data-code-snippet="true" data-github-includecode-link="https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/HEAD/storagetransfer/nearline-request.js" data-github-path="GoogleCloudPlatform/nodejs-docs-samples/storagetransfer/nearline-request.js" data-git-revision="HEAD" data-region-tag="storagetransfer_transfer_to_nearline" dir="ltr" is-upgraded syntax="JavaScript"><code translate="no" dir="ltr"> <span class="devsite-syntax-c1">// Imports the Google Cloud client library</span> <span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">StorageTransferServiceClient</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">require</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'@google-cloud/storage-transfer'</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-cm">/**</span> <span class="devsite-syntax-cm"> * TODO(developer): Uncomment the following lines before running the sample.</span> <span class="devsite-syntax-cm"> */</span> <span class="devsite-syntax-c1">// The ID of the Google Cloud Platform Project that owns the job</span> <span class="devsite-syntax-c1">// projectId = 'my-project-id'</span> <span class="devsite-syntax-c1">// A useful description for your transfer job</span> <span class="devsite-syntax-c1">// description = 'My transfer job'</span> <span class="devsite-syntax-c1">// Google Cloud Storage source bucket name</span> <span class="devsite-syntax-c1">// gcsSourceBucket = 'my-gcs-source-bucket'</span> <span class="devsite-syntax-c1">// Google Cloud Storage destination bucket name</span> <span class="devsite-syntax-c1">// gcsSinkBucket = 'my-gcs-destination-bucket'</span> <span class="devsite-syntax-c1">// Date to start daily migration</span> <span class="devsite-syntax-c1">// startDate = new Date()</span> <span class="devsite-syntax-c1">// Creates a client</span> <span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">StorageTransferServiceClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-cm">/**</span> <span class="devsite-syntax-cm"> * Create a daily migration from a GCS bucket to another GCS bucket for</span> <span class="devsite-syntax-cm"> * objects untouched for 30+ days.</span> <span class="devsite-syntax-cm"> */</span> <span class="devsite-syntax-k">async</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">createDailyNearline30DayMigration</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Runs the request and creates the job</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-nx">transferJob</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">await</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">createTransferJob</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">transferJob</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">projectId</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">description</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">status</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'ENABLED'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">schedule</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">scheduleStartDate</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">day</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">startDate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">getDate</span><span class="devsite-syntax-p">(),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">month</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">startDate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">getMonth</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">year</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">startDate</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">getFullYear</span><span class="devsite-syntax-p">(),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">transferSpec</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsDataSource</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">bucketName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsSourceBucket</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsDataSink</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">bucketName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsSinkBucket</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">objectConditions</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">minTimeElapsedSinceLastModification</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">seconds</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">2592000</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// 30 days</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">transferOptions</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">deleteObjectsFromSourceAfterTransfer</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">true</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">console</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">log</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-sb">`Created transferJob: </span><span class="devsite-syntax-si">${</span><span class="devsite-syntax-nx">transferJob</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">name</span><span class="devsite-syntax-si">}</span><span class="devsite-syntax-sb">`</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-nx">createDailyNearline30DayMigration</span><span class="devsite-syntax-p">();</span></code></pre></devsite-code> </div> </section> <section> <h3 id="python" data-text="Python" tabindex="-1">Python</h3> <p>Looking for older samples? See the <a href="/storage-transfer/docs/reference/migration-guide">Storage Transfer Service Migration Guide</a>. <div class="github-docwidget-gitinclude-code"> <div></div><devsite-code><pre suppresswarning="suppresswarning" translate="no" class="devsite-click-to-copy" track-metadata-position="GoogleCloudPlatform/python-docs-samples/storagetransfer/nearline_request.py/HEAD/storagetransfer_transfer_to_nearline" data-code-snippet="true" data-github-includecode-link="https://github.com/GoogleCloudPlatform/python-docs-samples/blob/HEAD/storagetransfer/nearline_request.py" data-github-path="GoogleCloudPlatform/python-docs-samples/storagetransfer/nearline_request.py" data-git-revision="HEAD" data-region-tag="storagetransfer_transfer_to_nearline" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-kn">from</span> <span class="devsite-syntax-nn">datetime</span> <span class="devsite-syntax-kn">import</span> <span class="devsite-syntax-n">datetime</span> <span class="devsite-syntax-kn">from</span> <span class="devsite-syntax-nn">google.cloud</span> <span class="devsite-syntax-kn">import</span> <span class="devsite-syntax-n">storage_transfer</span> <span class="devsite-syntax-kn">from</span> <span class="devsite-syntax-nn">google.protobuf.duration_pb2</span> <span class="devsite-syntax-kn">import</span> <span class="devsite-syntax-n">Duration</span> <span class="devsite-syntax-k">def</span> <span class="devsite-syntax-nf">create_daily_nearline_30_day_migration</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-n">project_id</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">str</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">description</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">str</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">source_bucket</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">str</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">sink_bucket</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">str</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">start_date</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">datetime</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">):</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-sd">"""Create a daily migration from a GCS bucket to a Nearline GCS bucket</span> <span class="devsite-syntax-sd"> for objects untouched for 30 days."""</span> <span class="devsite-syntax-n">client</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">storage_transfer</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">StorageTransferServiceClient</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-c1"># The ID of the Google Cloud Platform Project that owns the job</span> <span class="devsite-syntax-c1"># project_id = 'my-project-id'</span> <span class="devsite-syntax-c1"># A useful description for your transfer job</span> <span class="devsite-syntax-c1"># description = 'My transfer job'</span> <span class="devsite-syntax-c1"># Google Cloud Storage source bucket name</span> <span class="devsite-syntax-c1"># source_bucket = 'my-gcs-source-bucket'</span> <span class="devsite-syntax-c1"># Google Cloud Storage destination bucket name</span> <span class="devsite-syntax-c1"># sink_bucket = 'my-gcs-destination-bucket'</span> <span class="devsite-syntax-n">transfer_job_request</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">storage_transfer</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">CreateTransferJobRequest</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"transfer_job"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"project_id"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">project_id</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"description"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">description</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"status"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">storage_transfer</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">TransferJob</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">Status</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">ENABLED</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"schedule"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"schedule_start_date"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"day"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">start_date</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">day</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"month"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">start_date</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">month</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"year"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">start_date</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">year</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-s2">"transfer_spec"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"gcs_data_source"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"bucket_name"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">source_bucket</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-s2">"gcs_data_sink"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"bucket_name"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">sink_bucket</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-s2">"object_conditions"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"min_time_elapsed_since_last_modification"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">Duration</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-n">seconds</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-mi">2592000</span> <span class="devsite-syntax-c1"># 30 days</span> <span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-s2">"transfer_options"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"delete_objects_from_source_after_transfer"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-kc">True</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">)</span> <span class="devsite-syntax-n">result</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">client</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">create_transfer_job</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">transfer_job_request</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-nb">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-sa">f</span><span class="devsite-syntax-s2">"Created transferJob: </span><span class="devsite-syntax-si">{</span><span class="devsite-syntax-n">result</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">name</span><span class="devsite-syntax-si">}</span><span class="devsite-syntax-s2">"</span><span class="devsite-syntax-p">)</span> </code></pre></devsite-code> </div> </section> </div> <h2 id="s3-to-cloud" data-text="Transfer from Amazon S3 to Cloud Storage" tabindex="-1">Transfer from Amazon S3 to Cloud Storage</h2> <p>See <a href="/storage-transfer/docs/create-transfers/agentless/s3">Transfer from Amazon S3 to Cloud Storage</a>.</p> <h2 id="azure-to-cloud" data-text="Transfer between Microsoft Azure Blob Storage and Cloud Storage" tabindex="-1">Transfer between Microsoft Azure Blob Storage and Cloud Storage</h2> <p>In this example, you'll learn how to move files from Microsoft Azure Storage to a Cloud Storage bucket, using a Microsoft Azure Storage shared access signature (SAS) token.</p> <p>For more information on Microsoft Azure Storage SAS, see <a href="https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview" class="external">Grant limited access to Azure Storage resources using shared access signatures (SAS)</a>.</p> <p>Before starting, review <a href="/storage-transfer/docs/source-microsoft-azure">Configure access to Microsoft Azure Storage</a> and <a href="/storage-transfer/pricing">Pricing</a> to understand the implications of moving data from Microsoft Azure Storage to Cloud Storage.</p> <aside class="note"> Storage Transfer Service is able to transfer data from the following Microsoft Azure Storage regions: <ul><li><b>Americas:</b> East US, East US 2, West US, West US 2, West US 3, Central US, North Central US, South Central US, West Central US, Canada Central, Canada East, Brazil South</li> <li><b>Asia-Pacific:</b> Australia Central, Australia East, Australia Southeast, Central India, South India, West India, Southeast Asia, East Asia, Japan East, Japan West, Korea South, Korea Central</li> <li><b>Europe, Middle East, Africa (EMEA):</b> France Central, Germany West Central, Norway East, Sweden Central, Switzerland North, North Europe, West Europe, UK South, UK West, Qatar Central, UAE North, South Africa North</li> </ul> </aside> <p> <div id="storagetransfer_transfer_from_azure-code-sample" class="ds-selector-tabs" data-ds-scope="code-sample"> <section> <h3 id="storagetransfer_transfer_from_azure-go" track-metadata-position="storagetransfer_transfer_from_azure" track-metadata-region-tag="storagetransfer_transfer_from_azure" data-text="Go" tabindex="-1"><span class="notranslate">Go</span></h3> <p> To learn how to install and use the client library for Storage Transfer Service, see <a href="/storage-transfer/docs/reference/libraries" track-type="clientLibrariesReference" track-name="go" track-metadata-snippet-file-url="https://github.com/GoogleCloudPlatform/golang-samples/blob//storagetransfer/transfer_from_azure.go" track-metadata-position="storagetransfer_transfer_from_azure">Storage Transfer Service client libraries</a>. For more information, see the <a href="https://pkg.go.dev/cloud.google.com/go/storagetransfer@v1.0.0/apiv1" class="external" track-type="clientLibrariesUsage" track-name="clientLibrariesLink" track-metadata-lang="go" track-metadata-snippet-file-url="https://github.com/GoogleCloudPlatform/golang-samples/blob//storagetransfer/transfer_from_azure.go" track-metadata-region-tag="storagetransfer_transfer_from_azure">Storage Transfer Service <span class="notranslate">Go</span> API reference documentation</a>. </p> <p> To authenticate to Storage Transfer Service, set up Application Default Credentials. For more information, see <a href="/docs/authentication/provide-credentials-adc#local-dev">Set up authentication for a local development environment</a>. </p> <div class="github-docwidget-gitinclude-code"> <div></div><devsite-code><pre suppresswarning="suppresswarning" translate="no" class="devsite-click-to-copy" track-metadata-position="GoogleCloudPlatform/golang-samples/storagetransfer/transfer_from_azure.go/HEAD/storagetransfer_transfer_from_azure" data-code-snippet="true" data-github-includecode-link="https://github.com/GoogleCloudPlatform/golang-samples/blob/HEAD/storagetransfer/transfer_from_azure.go" language="go" data-github-path="GoogleCloudPlatform/golang-samples/storagetransfer/transfer_from_azure.go" data-git-revision="HEAD" data-region-tag="storagetransfer_transfer_from_azure" dir="ltr" is-upgraded syntax="Go"><code translate="no" dir="ltr"><span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"context"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"fmt"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"io"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"os"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">storagetransfer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"cloud.google.com/go/storagetransfer/apiv1"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"cloud.google.com/go/storagetransfer/apiv1/storagetransferpb"</span> <span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">func</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">transferFromAzure</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">w</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">io</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Writer</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">projectID</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">string</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureStorageAccountName</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">string</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureSourceContainer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">string</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsSinkBucket</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">string</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferJob</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">error</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Your Google Cloud Project ID.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// projectID := "my-project-id"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The name of your Azure Storage account.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// azureStorageAccountName := "my-azure-storage-acc"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The name of the Azure container to transfer objects from.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// azureSourceContainer := "my-source-container"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The name of the GCS bucket to transfer objects to.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// gcsSinkBucket := "my-sink-bucket"</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">context</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Background</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">storagetransfer</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">NewClient</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">!=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">fmt</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Errorf</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"storagetransfer.NewClient: %w"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">defer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Close</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The Azure SAS token, should be accessed via environment variable for security</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureSasToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">os</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Getenv</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"AZURE_SAS_TOKEN"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">req</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">CreateTransferJobRequest</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">TransferJob</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferJob</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ProjectId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">projectID</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">TransferSpec</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferSpec</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">DataSource</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferSpec_AzureBlobStorageDataSource</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">AzureBlobStorageDataSource</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">AzureBlobStorageData</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">StorageAccount</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureStorageAccountName</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">AzureCredentials</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">AzureCredentials</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">SasToken</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureSasToken</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Container</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureSourceContainer</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">DataSink</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferSpec_GcsDataSink</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">GcsDataSink</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">GcsData</span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-nx">BucketName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsSinkBucket</span><span class="devsite-syntax-p">}},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">Status</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">TransferJob_ENABLED</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resp</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">CreateTransferJob</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">req</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">!=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">fmt</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Errorf</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"failed to create transfer job: %w"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">_</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">RunTransferJob</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span>&<span class="devsite-syntax-nx">storagetransferpb</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">RunTransferJobRequest</span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ProjectId</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">projectID</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">JobName</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resp</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Name</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">!=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">fmt</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Errorf</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"failed to run transfer job: %w"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">fmt</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Fprintf</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">w</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"Created and ran transfer job from %v to %v with name %v"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureSourceContainer</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsSinkBucket</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resp</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Name</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">return</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">resp</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span> <span class="devsite-syntax-p">}</span> </code></pre></devsite-code> </div> </section> <section> <h3 id="storagetransfer_transfer_from_azure-java" track-metadata-position="storagetransfer_transfer_from_azure" track-metadata-region-tag="storagetransfer_transfer_from_azure" data-text="Java" tabindex="-1"><span class="notranslate">Java</span></h3> <p> To learn how to install and use the client library for Storage Transfer Service, see <a href="/storage-transfer/docs/reference/libraries" track-type="clientLibrariesReference" track-name="java" track-metadata-snippet-file-url="https://github.com/GoogleCloudPlatform/java-docs-samples/blob//storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferFromAzure.java" track-metadata-position="storagetransfer_transfer_from_azure">Storage Transfer Service client libraries</a>. For more information, see the <a href="https://cloud.google.com/java/docs/reference/google-cloud-storage-transfer/latest/com.google.storagetransfer.v1.proto" class="external" track-type="clientLibrariesUsage" track-name="clientLibrariesLink" track-metadata-lang="java" track-metadata-snippet-file-url="https://github.com/GoogleCloudPlatform/java-docs-samples/blob//storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferFromAzure.java" track-metadata-region-tag="storagetransfer_transfer_from_azure">Storage Transfer Service <span class="notranslate">Java</span> API reference documentation</a>. </p> <p> To authenticate to Storage Transfer Service, set up Application Default Credentials. For more information, see <a href="/docs/authentication/provide-credentials-adc#local-dev">Set up authentication for a local development environment</a>. </p> <div class="github-docwidget-gitinclude-code"> <div></div><devsite-code><pre suppresswarning="suppresswarning" translate="no" class="devsite-click-to-copy" track-metadata-position="GoogleCloudPlatform/java-docs-samples/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferFromAzure.java/HEAD/storagetransfer_transfer_from_azure" data-code-snippet="true" data-github-includecode-link="https://github.com/GoogleCloudPlatform/java-docs-samples/blob/HEAD/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferFromAzure.java" language="java" data-github-path="GoogleCloudPlatform/java-docs-samples/storage-transfer/src/main/java/com/google/cloud/storage/storagetransfer/samples/TransferFromAzure.java" data-git-revision="HEAD" data-region-tag="storagetransfer_transfer_from_azure" dir="ltr" is-upgraded syntax="Java"><code translate="no" dir="ltr"><span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.StorageTransferServiceClient</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferProto</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferProto.RunTransferJobRequest</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.AzureBlobStorageData</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.AzureCredentials</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.GcsData</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.TransferJob</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.TransferJob.Status</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.storagetransfer.v1.proto.TransferTypes.TransferSpec</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">java.io.IOException</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">java.util.concurrent.ExecutionException</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">class</span> <span class="devsite-syntax-nc">TransferFromAzure</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">static</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">void</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">main</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-o">[]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">args</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">throws</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">IOException</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ExecutionException</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">InterruptedException</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// TODO(developer): Replace these variables before running the sample.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Your Google Cloud Project ID</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">projectId</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"my-project-id"</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Your Azure Storage Account name</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">azureStorageAccount</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"my-azure-account"</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The Azure source container to transfer data from</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">azureSourceContainer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"my-source-container"</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// The GCS bucket to transfer data to</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gcsSinkBucket</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"my-sink-bucket"</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transferFromAzureBlobStorage</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">projectId</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">azureStorageAccount</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">azureSourceContainer</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gcsSinkBucket</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-cm">/**</span> <span class="devsite-syntax-cm"> * Creates and runs a transfer job to transfer all data from an Azure container to a GCS bucket.</span> <span class="devsite-syntax-cm"> */</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">static</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">void</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">transferFromAzureBlobStorage</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">projectId</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">azureStorageAccount</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">azureSourceContainer</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gcsSinkBucket</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">throws</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">IOException</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">ExecutionException</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">InterruptedException</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Your Azure SAS token, should be accessed via environment variable</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">azureSasToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">System</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">getenv</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"AZURE_SAS_TOKEN"</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferSpec</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transferSpec</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferSpec</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setAzureBlobStorageDataSource</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">AzureBlobStorageData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setAzureCredentials</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">AzureCredentials</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-na">setSasToken</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">azureSasToken</span><span class="devsite-syntax-p">).</span><span class="devsite-syntax-na">build</span><span class="devsite-syntax-p">())</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setContainer</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">azureSourceContainer</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setStorageAccount</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">azureStorageAccount</span><span class="devsite-syntax-p">))</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setGcsDataSink</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">GcsData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-na">setBucketName</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">gcsSinkBucket</span><span class="devsite-syntax-p">).</span><span class="devsite-syntax-na">build</span><span class="devsite-syntax-p">())</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">build</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferJob</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">transferJob</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferJob</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setProjectId</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">projectId</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setStatus</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">Status</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">ENABLED</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setTransferSpec</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">transferSpec</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">build</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Initialize client that will be used to send requests. This client only needs to be created</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// once, and can be reused for multiple requests. After completing all of your requests, call</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// the "close" method on the client to safely clean up any remaining background resources,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// or use "try-with-close" statement to do this automatically.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">try</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">StorageTransferServiceClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">storageTransfer</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">StorageTransferServiceClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">create</span><span class="devsite-syntax-p">())</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Create the transfer job</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferJob</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">storageTransfer</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">createTransferJob</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">TransferProto</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">CreateTransferJobRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setTransferJob</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">transferJob</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">build</span><span class="devsite-syntax-p">());</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Run the created job</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">storageTransfer</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">runTransferJobAsync</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">RunTransferJobRequest</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">newBuilder</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setProjectId</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">projectId</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">setJobName</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">getName</span><span class="devsite-syntax-p">())</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">build</span><span class="devsite-syntax-p">())</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">get</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">System</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">out</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">println</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"Created and ran a transfer job from "</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">azureSourceContainer</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">" to "</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">gcsSinkBucket</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">" with "</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"name "</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">getName</span><span class="devsite-syntax-p">());</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span></code></pre></devsite-code> </div> </section> <section> <h3 id="storagetransfer_transfer_from_azure-nodejs" track-metadata-position="storagetransfer_transfer_from_azure" track-metadata-region-tag="storagetransfer_transfer_from_azure" data-text="Node.js" tabindex="-1"><span class="notranslate">Node.js</span></h3> <p> To learn how to install and use the client library for Storage Transfer Service, see <a href="/storage-transfer/docs/reference/libraries" track-type="clientLibrariesReference" track-name="nodejs" track-metadata-snippet-file-url="https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob//storagetransfer/azure-request.js" track-metadata-position="storagetransfer_transfer_from_azure">Storage Transfer Service client libraries</a>. For more information, see the <a href="https://googleapis.dev/nodejs/storagetransfer/latest/index.html" class="external" track-type="clientLibrariesUsage" track-name="clientLibrariesLink" track-metadata-lang="nodejs" track-metadata-snippet-file-url="https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob//storagetransfer/azure-request.js" track-metadata-region-tag="storagetransfer_transfer_from_azure">Storage Transfer Service <span class="notranslate">Node.js</span> API reference documentation</a>. </p> <p> To authenticate to Storage Transfer Service, set up Application Default Credentials. For more information, see <a href="/docs/authentication/provide-credentials-adc#local-dev">Set up authentication for a local development environment</a>. </p> <div class="github-docwidget-gitinclude-code"> <div></div><devsite-code><pre suppresswarning="suppresswarning" translate="no" class="devsite-click-to-copy" track-metadata-position="GoogleCloudPlatform/nodejs-docs-samples/storagetransfer/azure-request.js/HEAD/storagetransfer_transfer_from_azure" data-code-snippet="true" data-github-includecode-link="https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/HEAD/storagetransfer/azure-request.js" language="nodejs" data-github-path="GoogleCloudPlatform/nodejs-docs-samples/storagetransfer/azure-request.js" data-git-revision="HEAD" data-region-tag="storagetransfer_transfer_from_azure" dir="ltr" is-upgraded syntax="JavaScript"><code translate="no" dir="ltr"> <span class="devsite-syntax-c1">// Imports the Google Cloud client library</span> <span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">StorageTransferServiceClient</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">require</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'@google-cloud/storage-transfer'</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-cm">/**</span> <span class="devsite-syntax-cm"> * TODO(developer): Uncomment the following lines before running the sample.</span> <span class="devsite-syntax-cm"> */</span> <span class="devsite-syntax-c1">// The ID of the Google Cloud Platform Project that owns the job</span> <span class="devsite-syntax-c1">// projectId = 'my-project-id'</span> <span class="devsite-syntax-c1">// A useful description for your transfer job</span> <span class="devsite-syntax-c1">// description = 'My transfer job'</span> <span class="devsite-syntax-c1">// Azure Storage Account name</span> <span class="devsite-syntax-c1">// azureStorageAccount = 'accountname'</span> <span class="devsite-syntax-c1">// Azure Storage Account name</span> <span class="devsite-syntax-c1">// azureSourceContainer = 'my-azure-source-bucket'</span> <span class="devsite-syntax-c1">// Azure Shared Access Signature token</span> <span class="devsite-syntax-c1">// azureSASToken = '?sv=...'</span> <span class="devsite-syntax-c1">// Google Cloud Storage destination bucket name</span> <span class="devsite-syntax-c1">// gcsSinkBucket = 'my-gcs-destination-bucket'</span> <span class="devsite-syntax-c1">// Creates a client</span> <span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">StorageTransferServiceClient</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-cm">/**</span> <span class="devsite-syntax-cm"> * Creates a one-time transfer job from Azure Blob Storage to Google Cloud Storage.</span> <span class="devsite-syntax-cm"> */</span> <span class="devsite-syntax-k">async</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">transferFromBlobStorage</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Setting the start date and the end date as the same time creates a</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// one-time transfer</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">now</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Date</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">oneTimeSchedule</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">day</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">now</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">getDate</span><span class="devsite-syntax-p">(),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">month</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">now</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">getMonth</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">+</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">1</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">year</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">now</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">getFullYear</span><span class="devsite-syntax-p">(),</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">};</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Runs the request and creates the job</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-nx">transferJob</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">await</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">createTransferJob</span><span class="devsite-syntax-p">({</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">transferJob</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">projectId</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">description</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">status</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'ENABLED'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">schedule</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">scheduleStartDate</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">oneTimeSchedule</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">scheduleEndDate</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">oneTimeSchedule</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">transferSpec</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureBlobStorageDataSource</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureCredentials</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">sasToken</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureSASToken</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">container</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureSourceContainer</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">storageAccount</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">azureStorageAccount</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsDataSink</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">bucketName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">gcsSinkBucket</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">});</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">console</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">log</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-sb">`Created and ran a transfer job from '</span><span class="devsite-syntax-si">${</span><span class="devsite-syntax-nx">azureSourceContainer</span><span class="devsite-syntax-si">}</span><span class="devsite-syntax-sb">' to '</span><span class="devsite-syntax-si">${</span><span class="devsite-syntax-nx">gcsSinkBucket</span><span class="devsite-syntax-si">}</span><span class="devsite-syntax-sb">' with name </span><span class="devsite-syntax-si">${</span><span class="devsite-syntax-nx">transferJob</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">name</span><span class="devsite-syntax-si">}</span><span class="devsite-syntax-sb">`</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-nx">transferFromBlobStorage</span><span class="devsite-syntax-p">();</span></code></pre></devsite-code> </div> </section> <section> <h3 id="storagetransfer_transfer_from_azure-python" track-metadata-position="storagetransfer_transfer_from_azure" track-metadata-region-tag="storagetransfer_transfer_from_azure" data-text="Python" tabindex="-1"><span class="notranslate">Python</span></h3> <p> To learn how to install and use the client library for Storage Transfer Service, see <a href="/storage-transfer/docs/reference/libraries" track-type="clientLibrariesReference" track-name="python" track-metadata-snippet-file-url="https://github.com/GoogleCloudPlatform/python-docs-samples/blob//storagetransfer/azure_request.py" track-metadata-position="storagetransfer_transfer_from_azure">Storage Transfer Service client libraries</a>. For more information, see the <a href="https://cloud.google.com/python/docs/reference/storagetransfer/latest" class="external" track-type="clientLibrariesUsage" track-name="clientLibrariesLink" track-metadata-lang="python" track-metadata-snippet-file-url="https://github.com/GoogleCloudPlatform/python-docs-samples/blob//storagetransfer/azure_request.py" track-metadata-region-tag="storagetransfer_transfer_from_azure">Storage Transfer Service <span class="notranslate">Python</span> API reference documentation</a>. </p> <p> To authenticate to Storage Transfer Service, set up Application Default Credentials. For more information, see <a href="/docs/authentication/provide-credentials-adc#local-dev">Set up authentication for a local development environment</a>. </p> <div class="github-docwidget-gitinclude-code"> <div></div><devsite-code><pre suppresswarning="suppresswarning" translate="no" class="devsite-click-to-copy" track-metadata-position="GoogleCloudPlatform/python-docs-samples/storagetransfer/azure_request.py/HEAD/storagetransfer_transfer_from_azure" data-code-snippet="true" data-github-includecode-link="https://github.com/GoogleCloudPlatform/python-docs-samples/blob/HEAD/storagetransfer/azure_request.py" language="python" data-github-path="GoogleCloudPlatform/python-docs-samples/storagetransfer/azure_request.py" data-git-revision="HEAD" data-region-tag="storagetransfer_transfer_from_azure" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-kn">from</span> <span class="devsite-syntax-nn">datetime</span> <span class="devsite-syntax-kn">import</span> <span class="devsite-syntax-n">datetime</span> <span class="devsite-syntax-kn">from</span> <span class="devsite-syntax-nn">google.cloud</span> <span class="devsite-syntax-kn">import</span> <span class="devsite-syntax-n">storage_transfer</span> <span class="devsite-syntax-k">def</span> <span class="devsite-syntax-nf">create_one_time_azure_transfer</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-n">project_id</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">str</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">description</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">str</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">azure_storage_account</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">str</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">azure_sas_token</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">str</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">source_container</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">str</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">sink_bucket</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">str</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">):</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-sd">"""Creates a one-time transfer job from Azure Blob Storage to Google Cloud</span> <span class="devsite-syntax-sd"> Storage."""</span> <span class="devsite-syntax-c1"># Initialize client that will be used to create storage transfer requests.</span> <span class="devsite-syntax-c1"># This client only needs to be created once, and can be reused for</span> <span class="devsite-syntax-c1"># multiple requests.</span> <span class="devsite-syntax-n">client</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">storage_transfer</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">StorageTransferServiceClient</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-c1"># The ID of the Google Cloud Platform Project that owns the job</span> <span class="devsite-syntax-c1"># project_id = 'my-project-id'</span> <span class="devsite-syntax-c1"># A useful description for your transfer job</span> <span class="devsite-syntax-c1"># description = 'My transfer job'</span> <span class="devsite-syntax-c1"># Azure Storage Account name</span> <span class="devsite-syntax-c1"># azure_storage_account = 'accountname'</span> <span class="devsite-syntax-c1"># Azure Shared Access Signature token</span> <span class="devsite-syntax-c1"># azure_sas_token = '?sv=...'</span> <span class="devsite-syntax-c1"># Azure Blob source container name</span> <span class="devsite-syntax-c1"># source_container = 'my-azure-source-bucket'</span> <span class="devsite-syntax-c1"># Google Cloud Storage destination bucket name</span> <span class="devsite-syntax-c1"># sink_bucket = 'my-gcs-destination-bucket'</span> <span class="devsite-syntax-n">now</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">datetime</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">utcnow</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-c1"># Setting the start date and the end date as</span> <span class="devsite-syntax-c1"># the same time creates a one-time transfer</span> <span class="devsite-syntax-n">one_time_schedule</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-p">{</span><span class="devsite-syntax-s2">"day"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">now</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">day</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"month"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">now</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">month</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"year"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">now</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">year</span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-n">transfer_job_request</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">storage_transfer</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">CreateTransferJobRequest</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"transfer_job"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"project_id"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">project_id</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"description"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">description</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"status"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">storage_transfer</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">TransferJob</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">Status</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">ENABLED</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"schedule"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"schedule_start_date"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">one_time_schedule</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"schedule_end_date"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">one_time_schedule</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-s2">"transfer_spec"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"azure_blob_storage_data_source"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"storage_account"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">azure_storage_account</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s2">"azure_credentials"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span><span class="devsite-syntax-s2">"sas_token"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">azure_sas_token</span><span class="devsite-syntax-p">},</span> <span class="devsite-syntax-s2">"container"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">source_container</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-s2">"gcs_data_sink"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-s2">"bucket_name"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">sink_bucket</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-p">},</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">)</span> <span class="devsite-syntax-n">result</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">client</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">create_transfer_job</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">transfer_job_request</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-nb">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-sa">f</span><span class="devsite-syntax-s2">"Created transferJob: </span><span class="devsite-syntax-si">{</span><span class="devsite-syntax-n">result</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">name</span><span class="devsite-syntax-si">}</span><span class="devsite-syntax-s2">"</span><span class="devsite-syntax-p">)</span> </code></pre></devsite-code> </div> </section> </div></p> <h2 id="transfer_from_a_file_system_2" data-text="Transfer from a file system" tabindex="-1">Transfer from a file system</h2> <p>See <a href="/storage-transfer/docs/create-transfers/agent-based/file-system-to-cloud-storage">Transfer from a file system to Cloud Storage</a>.</p></section> </div> <devsite-hats-survey class="nocontent" hats-id="mwETRvWii0eU5NUYprb0Y9z5GVbc" listnr-id="83405"></devsite-hats-survey> </div> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Cloud Storage Transfer Service Documentation" product-id="5076076" 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=815827" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/favicons/onecloud/super_cloud.png" project-support-url="https://cloud.google.com/storage-transfer/docs/support" > <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-22 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="Cloud Storage Transfer Service Documentation" product-id="5076076" 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=815827" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/cloud/images/favicons/onecloud/super_cloud.png" project-support-url="https://cloud.google.com/storage-transfer/docs/support" > <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-22 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-eventDetail="cloud.google.com/why-google-cloud/"track-metadata-child_headline="why google"track-metadata-module="footer"track-metadata-position="footer"track-type="footer link"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-metadata-position="footer"track-type="footer link"track-metadata-module="footer"track-name="trust and security"track-metadata-eventDetail="cloud.google.com/security/"track-metadata-child_headline="why google"> 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-module="footer"track-metadata-eventDetail="cloud.google.com/solutions/modern-infrastructure/"track-name="modern infrastructure cloud"track-metadata-position="footer"track-type="footer link"> 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-type="footer link"track-metadata-eventDetail="cloud.google.com/multicloud/"track-metadata-child_headline="why google"track-metadata-module="footer"track-metadata-position="footer"track-name="multicloud"> 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-position="footer"track-name="global infrastructure"track-metadata-module="footer"track-type="footer link"track-metadata-child_headline="why google"> 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-eventDetail="cloud.google.com/customers/"track-name="customers and case studies"track-metadata-child_headline="why google"track-type="footer link"track-metadata-module="footer"> 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-eventDetail="cloud.google.com/analyst-reports/"track-metadata-child_headline="why google"track-name="analyst reports"track-type="footer link"track-metadata-position="footer"track-metadata-module="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-metadata-module="footer"track-type="footer link"track-metadata-child_headline="why google"track-metadata-position="footer"track-name="whitepapers"track-metadata-eventDetail="cloud.google.com/whitepapers/"> 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-type="footer link"track-name="blog"track-metadata-child_headline="engage"track-metadata-eventDetail="cloud.google.com/blog/"track-metadata-position="footer"track-metadata-module="footer"> Blog </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Products and pricing</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/pricing/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/pricing/"track-metadata-module="footer"track-type="footer link"track-name="google cloud pricing"track-metadata-child_headline="products and 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-child_headline="products and pricing"track-metadata-eventDetail="workspace.google.com/pricing.html"track-metadata-position="footer"target="_blank"track-name="google workspace pricing"track-metadata-module="footer"track-type="footer link"> 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-name="see all products"track-metadata-child_headline="products and pricing"track-metadata-eventDetail="cloud.google.com/products/"track-type="footer link"track-metadata-module="footer"track-metadata-position="footer"> 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-position="footer"track-type="footer link"track-metadata-child_headline="solutions"track-metadata-module="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-metadata-module="footer"track-metadata-position="footer"track-type="footer link"track-metadata-child_headline="solutions"track-name="databases"track-metadata-eventDetail="cloud.google.com/solutions/databases"> Databases </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/application-modernization/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-metadata-eventDetail="cloud.google.com/solutions/application-modernization/"track-metadata-module="footer"track-name="application development"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-module="footer"track-metadata-position="footer"track-metadata-child_headline="solutions"track-name="smart analytics"track-metadata-eventDetail="cloud.google.com/solutions/smart-analytics/"> 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-position="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/solutions/ai/"track-name="artificial intelligence"track-metadata-module="footer"track-metadata-child_headline="solutions"> 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-type="footer link"track-metadata-child_headline="solutions"track-metadata-eventDetail="cloud.google.com/solutions/security/"track-metadata-module="footer"> Security </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://workspace.google.com/enterprise/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" track-metadata-position="footer"track-metadata-module="footer"track-metadata-eventDetail="workspace.google.com/enterprise/"track-metadata-child_headline="solutions"target="_blank"track-type="footer link"track-name="productivity and work transformation"> Productivity & work transformation </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/#industry-solutions" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-name="industry solutions"track-type="footer link"track-metadata-module="footer"track-metadata-position="footer"track-metadata-child_headline="solutions"track-metadata-eventDetail="cloud.google.com/solutions/#industry-solutions"> Industry solutions </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/devops/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 9)" track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/solutions/devops/"track-metadata-child_headline="solutions"track-type="footer link"track-name="devops solutions"track-metadata-position="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-name="small business solutions"track-metadata-eventDetail="cloud.google.com/solutions/#section-14"track-type="footer link"track-metadata-child_headline="solutions"track-metadata-position="footer"track-metadata-module="footer"> 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-type="footer link"track-name="see all solutions"track-metadata-eventDetail="cloud.google.com/solutions/"track-metadata-module="footer"track-metadata-child_headline="solutions"track-metadata-position="footer"> 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-module="footer"track-type="footer link"track-metadata-position="footer"track-metadata-child_headline="resources"track-metadata-eventDetail="cloud.google.com/affiliate-program/"track-name="google cloud affiliate program"> Google Cloud Affiliate Program </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/docs/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" track-name="google cloud documentation"track-metadata-eventDetail="cloud.google.com/docs/"track-metadata-child_headline="resources"track-metadata-module="footer"track-metadata-position="footer"track-type="footer link"> Google Cloud documentation </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/docs/get-started/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-metadata-child_headline="resources"track-metadata-module="footer"track-metadata-position="footer"track-type="footer link"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-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/marketplace/"track-type="footer link"track-name="google cloud marketplace"track-metadata-position="footer"track-metadata-child_headline="resources"> Google Cloud Marketplace </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/discover/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" track-metadata-eventDetail="learn/"track-metadata-child_headline="resources"track-metadata-position="footer"track-type="footer link"track-metadata-module="footer"track-name="learn about cloud computing"> Learn about cloud computing </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/support-hub/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" track-metadata-module="footer"track-metadata-position="footer"track-metadata-child_headline="resources"track-type="footer link"track-name="support"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-metadata-module="footer"track-name="code samples"track-metadata-child_headline="resources"track-type="footer link"track-metadata-eventDetail="cloud.google.com/docs/samples"track-metadata-position="footer"> Code samples </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/architecture/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-type="footer link"track-name="cloud architecture center"track-metadata-eventDetail="cloud.google.com/architecture/"track-metadata-module="footer"track-metadata-position="footer"track-metadata-child_headline="resources"> 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-eventDetail="cloud.google.com/training/"track-type="footer link"track-metadata-child_headline="resources"track-metadata-module="footer"track-metadata-position="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-metadata-eventDetail="cloud.google.com/certification"track-metadata-child_headline="resources"track-name="certifications"track-type="footer link"track-metadata-position="footer"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-metadata-eventDetail="developers.google.com"track-metadata-child_headline="resources"track-name="google developers"track-metadata-position="footer"track-metadata-module="footer"track-type="footer link"> Google for Developers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/startup/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 12)" track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/startup/"track-name="google cloud for startups"track-metadata-module="footer"track-metadata-child_headline="resources"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-eventDetail="status.cloud.google.com"track-name="system status"track-type="footer link"track-metadata-child_headline="resources"target="_blank"track-metadata-module="footer"track-metadata-position="footer"> System status </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/release-notes" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 14)" track-metadata-child_headline="resources"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/release-notes/"track-name="release notes"track-type="footer link"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-metadata-child_headline="engage"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/contact/"track-metadata-position="footer"track-name="contact sales"track-type="footer link"> 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-metadata-eventDetail="cloud.google.com/find-a-partner"track-metadata-module="footer"track-metadata-child_headline="engage"track-type="footer link"track-name="find a partner"target="_blank"track-metadata-position="footer"> Find a Partner </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/partners/become-a-partner/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/partners/become-a-partner/"track-metadata-child_headline="engage"track-metadata-module="footer"track-type="footer link"track-name="become a partner"> Become a Partner </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/events/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" track-metadata-position="footer"track-metadata-child_headline="engage"track-metadata-module="footer"track-type="footer link"track-name="events"track-metadata-eventDetail="cloud.withgoogle.com/events"> Events </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/podcasts/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" track-type="footer link"track-metadata-child_headline="engage"track-metadata-eventDetail="cloud.google.com/podcasts/"target="_blank"track-metadata-position="footer"track-name="podcasts"rel="noopener"track-metadata-module="footer"> 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-child_headline="engage"track-type="footer link"track-name="developer center"track-metadata-eventDetail="cloud.google.com/developers/"track-metadata-position="footer"track-metadata-module="footer"> Developer Center </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.googlecloudpresscorner.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" track-type="footer link"track-metadata-eventDetail="www.googlecloudpresscorner.com"rel="noopener"track-metadata-child_headline="engage"target="_blank"track-name="press corner"track-metadata-position="footer"track-metadata-module="footer"> Press Corner </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/googlecloud" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-type="footer link"track-metadata-position="footer"track-metadata-eventDetail="www.youtube.com/googlecloud"track-metadata-module="footer"track-metadata-child_headline="engage"track-name="google cloud on youtube"target="_blank"rel="noopener"> Google Cloud on YouTube </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/googlecloudplatform" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 9)" track-name="google cloud tech on youtube"track-type="footer link"track-metadata-eventDetail="www.youtube.com/googlecloudplatform"target="_blank"track-metadata-position="footer"track-metadata-module="footer"rel="noopener"track-metadata-child_headline="engage"> 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-type="footer link"target="_blank"track-name="follow on x"track-metadata-position="footer"track-metadata-eventDetail="x.com/googlecloud"rel="noopener"track-metadata-module="footer"track-metadata-child_headline="engage"> 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)" track-metadata-position="footer"track-metadata-module="footer"target="_blank"track-metadata-child_headline="engage"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-type="footer link"track-name="join user research"> 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-name="we are hiring join google cloud"track-metadata-position="footer"target="_blank"track-metadata-module="footer"track-metadata-eventDetail="careers.google.com/cloud"track-metadata-child_headline="engage"> We're hiring. Join Google Cloud! </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.googlecloudcommunity.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 13)" track-metadata-position="footer"track-metadata-child_headline="engage"track-metadata-module="footer"target="_blank"track-type="footer link"track-name="google cloud community"track-metadata-eventDetail="www.googlecloudcommunity.com"rel="noopener"> 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-type="footer link" track-metadata-position="footer" target="_blank" track-metadata-module="utility footer" track-name="about google" > About Google </a> </li> <li class="devsite-footer-utility-item devsite-footer-privacy-link"> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" track-type="footer link" track-metadata-eventDetail="//policies.google.com/privacy" track-metadata-module="utility footer" track-name="privacy" track-metadata-position="footer" target="_blank" > 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-metadata-eventDetail="//www.google.com/intl/en/policies/terms/regional.html" track-metadata-module="utility footer" track-name="site terms" track-metadata-position="footer" track-type="footer link" target="_blank" > 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-metadata-eventDetail="/product-terms/" track-metadata-position="footer" track-name="google cloud terms" track-type="footer link" track-metadata-module="utility 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-name="Manage cookies" track-metadata-eventDetail="#" aria-hidden="true" track-metadata-module="utility footer" track-type="footer link" track-metadata-position="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-metadata-eventDetail="/sustainability/" track-metadata-module="utility footer" track-metadata-position="footer" track-name="Our third decade of climate action: join us" track-type="footer link" > Our third decade of climate action: join us </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google Cloud newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" track-metadata-position="footer" track-name="subscribe" track-type="footer link" track-metadata-module="utility footer" track-metadata-eventDetail="/newsletter/" > 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": "Cloud Storage Transfer Service 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, 39300023, 39300118, 39300195, 39300251, 39300318, 39300320, 39300324, 39300345, 39300354, 39300363, 39300373, 39300412, 39300422, 39300436, 39300473, 39300487, 39300496, 39300498]"> </cloudx-experiment-ids> <script nonce="T0s1NNXgfyg35ywgRyz5V9NaVzRu0l"> (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","Profiles__enable_public_developer_profiles","EngEduTelemetry__enable_engedu_telemetry","Search__enable_page_map","Concierge__enable_concierge_restricted","Profiles__enable_awarding_url","Profiles__enable_page_saving","Search__enable_dynamic_content_confidential_banner","Search__enable_ai_search_summaries","MiscFeatureFlags__developers_footer_dark_image","Analytics__enable_clearcut_logging","Cloud__enable_llm_concierge_chat","Concierge__enable_pushui","Profiles__enable_dashboard_curated_recommendations","CloudShell__cloud_shell_button","Cloud__enable_legacy_calculator_redirect","MiscFeatureFlags__enable_variable_operator","Profiles__enable_developer_profiles_callout","Cloud__enable_cloud_dlp_service","MiscFeatureFlags__emergency_css","TpcFeatures__enable_mirror_tenant_redirects","MiscFeatureFlags__developers_footer_image","MiscFeatureFlags__enable_explain_this_code","Profiles__enable_recognition_badges","Profiles__require_profile_eligibility_for_signin","CloudShell__cloud_code_overflow_menu","Cloud__enable_cloudx_ping","TpcFeatures__enable_required_headers","BookNav__enable_tenant_cache_key","Cloud__enable_cloud_shell","Search__scope_to_project_tenant","DevPro__enable_cloud_innovators_plus","Search__enable_ai_search_summaries_restricted","Search__enable_ai_eligibility_checks","Search__enable_suggestions_from_borg","Cloud__enable_cloud_shell_fte_user_flow","Profiles__enable_completecodelab_endpoint","Cloud__enable_cloud_facet_chat","MiscFeatureFlags__enable_view_transitions","Profiles__enable_release_notes_notifications","MiscFeatureFlags__enable_project_variables","Profiles__enable_complete_playlist_endpoint","Experiments__reqs_query_experiments","DevPro__enable_developer_subscriptions","Cloud__enable_cloudx_experiment_ids","MiscFeatureFlags__enable_firebase_utm","Cloud__enable_free_trial_server_call"],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>