CINXE.COM
Microsoft Azure Blob Storage
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="Rclone docs for Microsoft Azure Blob Storage"> <meta name="author" content="Nick Craig-Wood"> <link rel="shortcut icon" type="image/png" href="/img/rclone-32x32.png"/> <script defer data-domain="rclone.org" src="https://weblog.rclone.org/js/script.js"></script> <title>Microsoft Azure Blob Storage</title> <link rel="canonical" href="https://rclone.org/azureblob/"> <link href="/css/bootstrap.min.4.4.1.css" rel="stylesheet"> <link href="/css/font-awesome.min.5.10.2.css" rel="stylesheet"> <link href="/css/custom.css?r=-62135596800" rel="stylesheet"> </head> <body> <nav class="navbar navbar-expand-md navbar-dark bg-dark"> <a class="navbar-brand" href="/"><img class="rclone-logo" src="/img/logo_on_dark__horizontal_color.svg" alt="rclone logo"></a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="/downloads/">Downloads</a> </li> <li class="nav-item active dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Docs </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="/install/"><i class="fa fa-book fa-fw"></i> Installation</a> <a class="dropdown-item" href="/docs/"><i class="fa fa-book fa-fw"></i> Usage</a> <a class="dropdown-item" href="/filtering/"><i class="fa fa-book fa-fw"></i> Filtering</a> <a class="dropdown-item" href="/gui/"><i class="fa fa-book fa-fw"></i> GUI</a> <a class="dropdown-item" href="/rc/"><i class="fa fa-book fa-fw"></i> Remote Control</a> <a class="dropdown-item" href="/changelog/"><i class="fa fa-book fa-fw"></i> Changelog</a> <a class="dropdown-item" href="/bugs/"><i class="fa fa-book fa-fw"></i> Bugs</a> <a class="dropdown-item" href="/faq/"><i class="fa fa-book fa-fw"></i> FAQ</a> <a class="dropdown-item" href="/flags/"><i class="fa fa-book fa-fw"></i> Flags</a> <a class="dropdown-item" href="/licence/"><i class="fa fa-book fa-fw"></i> Licence</a> <a class="dropdown-item" href="/authors/"><i class="fa fa-book fa-fw"></i> Authors</a> <a class="dropdown-item" href="/privacy/"><i class="fa fa-book fa-fw"></i> Privacy Policy</a> </div> </li> <li class="nav-item active dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Commands </a> <div class="dropdown-menu pre-scrollable" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="/commands/"><i class="fas fa-map fa-fw"></i> Overview</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/commands/rclone/"><i class="fa fa-book fa-fw"></i> rclone</a> <a class="dropdown-item" href="/commands/rclone_about/"><i class="fa fa-book fa-fw"></i> rclone about</a> <a class="dropdown-item" href="/commands/rclone_authorize/"><i class="fa fa-book fa-fw"></i> rclone authorize</a> <a class="dropdown-item" href="/commands/rclone_backend/"><i class="fa fa-book fa-fw"></i> rclone backend</a> <a class="dropdown-item" href="/commands/rclone_bisync/"><i class="fa fa-book fa-fw"></i> rclone bisync</a> <a class="dropdown-item" href="/commands/rclone_cat/"><i class="fa fa-book fa-fw"></i> rclone cat</a> <a class="dropdown-item" href="/commands/rclone_check/"><i class="fa fa-book fa-fw"></i> rclone check</a> <a class="dropdown-item" href="/commands/rclone_checksum/"><i class="fa fa-book fa-fw"></i> rclone checksum</a> <a class="dropdown-item" href="/commands/rclone_cleanup/"><i class="fa fa-book fa-fw"></i> rclone cleanup</a> <a class="dropdown-item" href="/commands/rclone_completion/"><i class="fa fa-book fa-fw"></i> rclone completion</a> <a class="dropdown-item" href="/commands/rclone_config/"><i class="fa fa-book fa-fw"></i> rclone config</a> <a class="dropdown-item" href="/commands/rclone_copy/"><i class="fa fa-book fa-fw"></i> rclone copy</a> <a class="dropdown-item" href="/commands/rclone_copyto/"><i class="fa fa-book fa-fw"></i> rclone copyto</a> <a class="dropdown-item" href="/commands/rclone_copyurl/"><i class="fa fa-book fa-fw"></i> rclone copyurl</a> <a class="dropdown-item" href="/commands/rclone_cryptcheck/"><i class="fa fa-book fa-fw"></i> rclone cryptcheck</a> <a class="dropdown-item" href="/commands/rclone_cryptdecode/"><i class="fa fa-book fa-fw"></i> rclone cryptdecode</a> <a class="dropdown-item" href="/commands/rclone_dedupe/"><i class="fa fa-book fa-fw"></i> rclone dedupe</a> <a class="dropdown-item" href="/commands/rclone_delete/"><i class="fa fa-book fa-fw"></i> rclone delete</a> <a class="dropdown-item" href="/commands/rclone_deletefile/"><i class="fa fa-book fa-fw"></i> rclone deletefile</a> <a class="dropdown-item" href="/commands/rclone_gendocs/"><i class="fa fa-book fa-fw"></i> rclone gendocs</a> <a class="dropdown-item" href="/commands/rclone_gitannex/"><i class="fa fa-book fa-fw"></i> rclone gitannex</a> <a class="dropdown-item" href="/commands/rclone_hashsum/"><i class="fa fa-book fa-fw"></i> rclone hashsum</a> <a class="dropdown-item" href="/commands/rclone_link/"><i class="fa fa-book fa-fw"></i> rclone link</a> <a class="dropdown-item" href="/commands/rclone_listremotes/"><i class="fa fa-book fa-fw"></i> rclone listremotes</a> <a class="dropdown-item" href="/commands/rclone_ls/"><i class="fa fa-book fa-fw"></i> rclone ls</a> <a class="dropdown-item" href="/commands/rclone_lsd/"><i class="fa fa-book fa-fw"></i> rclone lsd</a> <a class="dropdown-item" href="/commands/rclone_lsf/"><i class="fa fa-book fa-fw"></i> rclone lsf</a> <a class="dropdown-item" href="/commands/rclone_lsjson/"><i class="fa fa-book fa-fw"></i> rclone lsjson</a> <a class="dropdown-item" href="/commands/rclone_lsl/"><i class="fa fa-book fa-fw"></i> rclone lsl</a> <a class="dropdown-item" href="/commands/rclone_md5sum/"><i class="fa fa-book fa-fw"></i> rclone md5sum</a> <a class="dropdown-item" href="/commands/rclone_mkdir/"><i class="fa fa-book fa-fw"></i> rclone mkdir</a> <a class="dropdown-item" href="/commands/rclone_mount/"><i class="fa fa-book fa-fw"></i> rclone mount</a> <a class="dropdown-item" href="/commands/rclone_move/"><i class="fa fa-book fa-fw"></i> rclone move</a> <a class="dropdown-item" href="/commands/rclone_moveto/"><i class="fa fa-book fa-fw"></i> rclone moveto</a> <a class="dropdown-item" href="/commands/rclone_ncdu/"><i class="fa fa-book fa-fw"></i> rclone ncdu</a> <a class="dropdown-item" href="/commands/rclone_nfsmount/"><i class="fa fa-book fa-fw"></i> rclone nfsmount</a> <a class="dropdown-item" href="/commands/rclone_obscure/"><i class="fa fa-book fa-fw"></i> rclone obscure</a> <a class="dropdown-item" href="/commands/rclone_purge/"><i class="fa fa-book fa-fw"></i> rclone purge</a> <a class="dropdown-item" href="/commands/rclone_rc/"><i class="fa fa-book fa-fw"></i> rclone rc</a> <a class="dropdown-item" href="/commands/rclone_rcat/"><i class="fa fa-book fa-fw"></i> rclone rcat</a> <a class="dropdown-item" href="/commands/rclone_rcd/"><i class="fa fa-book fa-fw"></i> rclone rcd</a> <a class="dropdown-item" href="/commands/rclone_rmdir/"><i class="fa fa-book fa-fw"></i> rclone rmdir</a> <a class="dropdown-item" href="/commands/rclone_rmdirs/"><i class="fa fa-book fa-fw"></i> rclone rmdirs</a> <a class="dropdown-item" href="/commands/rclone_selfupdate/"><i class="fa fa-book fa-fw"></i> rclone selfupdate</a> <a class="dropdown-item" href="/commands/rclone_serve/"><i class="fa fa-book fa-fw"></i> rclone serve</a> <a class="dropdown-item" href="/commands/rclone_settier/"><i class="fa fa-book fa-fw"></i> rclone settier</a> <a class="dropdown-item" href="/commands/rclone_sha1sum/"><i class="fa fa-book fa-fw"></i> rclone sha1sum</a> <a class="dropdown-item" href="/commands/rclone_size/"><i class="fa fa-book fa-fw"></i> rclone size</a> <a class="dropdown-item" href="/commands/rclone_sync/"><i class="fa fa-book fa-fw"></i> rclone sync</a> <a class="dropdown-item" href="/commands/rclone_test/"><i class="fa fa-book fa-fw"></i> rclone test</a> <a class="dropdown-item" href="/commands/rclone_touch/"><i class="fa fa-book fa-fw"></i> rclone touch</a> <a class="dropdown-item" href="/commands/rclone_tree/"><i class="fa fa-book fa-fw"></i> rclone tree</a> <a class="dropdown-item" href="/commands/rclone_version/"><i class="fa fa-book fa-fw"></i> rclone version</a> </div> </li> <li class="nav-item active dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Storage Systems </a> <div class="dropdown-menu pre-scrollable" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="/overview/"><i class="fas fa-map fa-fw"></i> Overview</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/fichier/"><i class="fa fa-archive fa-fw"></i> 1Fichier</a> <a class="dropdown-item" href="/netstorage/"><i class="fas fa-database fa-fw"></i> Akamai NetStorage</a> <a class="dropdown-item" href="/alias/"><i class="fa fa-link fa-fw"></i> Alias</a> <a class="dropdown-item" href="/s3/"><i class="fab fa-amazon fa-fw"></i> Amazon S3</a> <a class="dropdown-item" href="/b2/"><i class="fa fa-fire fa-fw"></i> Backblaze B2</a> <a class="dropdown-item" href="/box/"><i class="fa fa-archive fa-fw"></i> Box</a> <a class="dropdown-item" href="/chunker/"><i class="fa fa-cut fa-fw"></i> Chunker (splits large files)</a> <a class="dropdown-item" href="/compress/"><i class="fas fa-compress fa-fw"></i> Compress (transparent gzip compression)</a> <a class="dropdown-item" href="/combine/"><i class="fa fa-folder-plus fa-fw"></i> Combine (remotes into a directory tree)</a> <a class="dropdown-item" href="/sharefile/"><i class="fas fa-share-square fa-fw"></i> Citrix ShareFile</a> <a class="dropdown-item" href="/crypt/"><i class="fa fa-lock fa-fw"></i> Crypt (encrypts the others)</a> <a class="dropdown-item" href="/koofr/#digi-storage"><i class="fa fa-cloud fa-fw"></i> Digi Storage</a> <a class="dropdown-item" href="/dropbox/"><i class="fab fa-dropbox fa-fw"></i> Dropbox</a> <a class="dropdown-item" href="/filefabric/"><i class="fa fa-cloud fa-fw"></i> Enterprise File Fabric</a> <a class="dropdown-item" href="/filescom/"><i class="fa fa-file-alt fa-fw"></i> Files.com</a> <a class="dropdown-item" href="/ftp/"><i class="fa fa-file fa-fw"></i> FTP</a> <a class="dropdown-item" href="/gofile/"><i class="fa fa-folder fa-fw"></i> Gofile</a> <a class="dropdown-item" href="/googlecloudstorage/"><i class="fab fa-google fa-fw"></i> Google Cloud Storage</a> <a class="dropdown-item" href="/drive/"><i class="fab fa-google fa-fw"></i> Google Drive</a> <a class="dropdown-item" href="/googlephotos/"><i class="fas fa-images fa-fw"></i> Google Photos</a> <a class="dropdown-item" href="/hasher/"><i class="fa fa-check-double fa-fw"></i> Hasher (better checksums for others)</a> <a class="dropdown-item" href="/hdfs/"><i class="fa fa-globe fa-fw"></i> HDFS (Hadoop Distributed Filesystem)</a> <a class="dropdown-item" href="/hidrive/"><i class="fa fa-cloud fa-fw"></i> HiDrive</a> <a class="dropdown-item" href="/http/"><i class="fa fa-globe fa-fw"></i> HTTP</a> <a class="dropdown-item" href="/imagekit/"><i class="fa fa-cloud fa-fw"></i> ImageKit</a> <a class="dropdown-item" href="/internetarchive/"><i class="fa fa-archive fa-fw"></i> Internet Archive</a> <a class="dropdown-item" href="/jottacloud/"><i class="fa fa-cloud fa-fw"></i> Jottacloud</a> <a class="dropdown-item" href="/koofr/"><i class="fa fa-suitcase fa-fw"></i> Koofr</a> <a class="dropdown-item" href="/linkbox/"><i class="fa fa-infinity fa-fw"></i> Linkbox</a> <a class="dropdown-item" href="/mailru/"><i class="fa fa-at fa-fw"></i> Mail.ru Cloud</a> <a class="dropdown-item" href="/mega/"><i class="fa fa-archive fa-fw"></i> Mega</a> <a class="dropdown-item" href="/memory/"><i class="fas fa-memory fa-fw"></i> Memory</a> <a class="dropdown-item" href="/azureblob/"><i class="fab fa-windows fa-fw"></i> Microsoft Azure Blob Storage</a> <a class="dropdown-item" href="/azurefiles/"><i class="fab fa-windows fa-fw"></i> Microsoft Azure Files Storage</a> <a class="dropdown-item" href="/onedrive/"><i class="fab fa-windows fa-fw"></i> Microsoft OneDrive</a> <a class="dropdown-item" href="/opendrive/"><i class="fa fa-space-shuttle fa-fw"></i> OpenDrive</a> <a class="dropdown-item" href="/qingstor/"><i class="fas fa-hdd fa-fw"></i> QingStor</a> <a class="dropdown-item" href="/swift/"><i class="fa fa-space-shuttle fa-fw"></i> Openstack Swift</a> <a class="dropdown-item" href="/oracleobjectstorage/"><i class="fa fa-cloud fa-fw"></i> Oracle Object Storage</a> <a class="dropdown-item" href="/pcloud/"><i class="fa fa-cloud fa-fw"></i> pCloud</a> <a class="dropdown-item" href="/pikpak/"><i class="fa fa-cloud fa-fw"></i> PikPak</a> <a class="dropdown-item" href="/pixeldrain/"><i class="fa fa-circle fa-fw"></i> Pixeldrain</a> <a class="dropdown-item" href="/premiumizeme/"><i class="fa fa-user fa-fw"></i> premiumize.me</a> <a class="dropdown-item" href="/putio/"><i class="fas fa-parking fa-fw"></i> put.io</a> <a class="dropdown-item" href="/protondrive/"><i class="fas fa-folder fa-fw"></i> Proton Drive</a> <a class="dropdown-item" href="/quatrix/"><i class="fas fa-shield-alt fa-fw"></i> Quatrix</a> <a class="dropdown-item" href="/seafile/"><i class="fa fa-server fa-fw"></i> Seafile</a> <a class="dropdown-item" href="/sftp/"><i class="fa fa-server fa-fw"></i> SFTP</a> <a class="dropdown-item" href="/sia/"><i class="fa fa-globe fa-fw"></i> Sia</a> <a class="dropdown-item" href="/smb/"><i class="fa fa-server fa-fw"></i> SMB / CIFS</a> <a class="dropdown-item" href="/storj/"><i class="fas fa-dove fa-fw"></i> Storj</a> <a class="dropdown-item" href="/sugarsync/"><i class="fas fa-dove fa-fw"></i> SugarSync</a> <a class="dropdown-item" href="/ulozto/"><i class="fas fa-angle-double-down fa-fw"></i> Uloz.to</a> <a class="dropdown-item" href="/uptobox/"><i class="fa fa-archive fa-fw"></i> Uptobox</a> <a class="dropdown-item" href="/union/"><i class="fa fa-link fa-fw"></i> Union (merge backends)</a> <a class="dropdown-item" href="/webdav/"><i class="fa fa-server fa-fw"></i> WebDAV</a> <a class="dropdown-item" href="/yandex/"><i class="fa fa-space-shuttle fa-fw"></i> Yandex Disk</a> <a class="dropdown-item" href="/zoho/"><i class="fas fa-folder fa-fw"></i> Zoho WorkDrive</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/local/"><i class="fas fa-hdd fa-fw"></i> The local filesystem</a> </div> </li> <li class="nav-item active"> <a class="nav-link" href="/contact/"><i class="fa fa-envelope fa-fw"></i> Contact</a> </li> <li class="nav-item active"> <a class="nav-link" href="/sponsor/"><i class="fa fa-heart heart fa-fw"></i> Sponsor</a> </li> </ul> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a href="https://rclone.com/" target="_blank" class="nav-link bizbutton" title="Click here for support and advertising contracts"><i class="fa fa-briefcase"></i> For Business</a> </li> </ul> <form class="form-inline" name="search_form" action="https://google.com/search" target="_blank" onsubmit="on_search();"> <input name="words" value="" type="search" placeholder="search..." class="form-control form-control-sm"> <input name="q" value="" type="hidden"> <input name="as_sitesearch" value="https://rclone.org/" type="hidden"> </form> </div> </nav> <div class="container-fluid"> <div class="row"> <div class="col-md-9"> <span class="badge badge-pill badge-secondary float-right" style="margin-top: 30px; font-size: 100%" title="This feature needs Rclone v1.38 or later.">v1.38</span> <h1 id="hahahugoshortcode3s0hbhb-microsoft-azure-blob-storage"><i class="fab fa-windows" aria-hidden="true"></i> Microsoft Azure Blob Storage</h1> <p>Paths are specified as <code>remote:container</code> (or <code>remote:</code> for the <code>lsd</code> command.) You may put subdirectories in too, e.g. <code>remote:container/path/to/dir</code>.</p> <h2 id="configuration">Configuration</h2> <p>Here is an example of making a Microsoft Azure Blob Storage configuration. For a remote called <code>remote</code>. First run:</p> <pre><code> rclone config </code></pre> <p>This will guide you through an interactive setup process:</p> <pre tabindex="0"><code>No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Type of storage to configure. Choose a number from below, or type in your own value [snip] XX / Microsoft Azure Blob Storage \ "azureblob" [snip] Storage> azureblob Storage Account Name account> account_name Storage Account Key key> base64encodedkey== Endpoint for the service - leave blank normally. endpoint> Remote config Configuration complete. Options: - type: azureblob - account: account_name - key: base64encodedkey== - endpoint: Keep this "remote" remote? y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y </code></pre><p>See all containers</p> <pre><code>rclone lsd remote: </code></pre> <p>Make a new container</p> <pre><code>rclone mkdir remote:container </code></pre> <p>List the contents of a container</p> <pre><code>rclone ls remote:container </code></pre> <p>Sync <code>/home/local/directory</code> to the remote container, deleting any excess files in the container.</p> <pre><code>rclone sync --interactive /home/local/directory remote:container </code></pre> <h3 id="fast-list">--fast-list</h3> <p>This remote supports <code>--fast-list</code> which allows you to use fewer transactions in exchange for more memory. See the <a href="/docs/#fast-list">rclone docs</a> for more details.</p> <h3 id="modification-times-and-hashes">Modification times and hashes</h3> <p>The modification time is stored as metadata on the object with the <code>mtime</code> key. It is stored using RFC3339 Format time with nanosecond precision. The metadata is supplied during directory listings so there is no performance overhead to using it.</p> <p>If you wish to use the Azure standard <code>LastModified</code> time stored on the object as the modified time, then use the <code>--use-server-modtime</code> flag. Note that rclone can't set <code>LastModified</code>, so using the <code>--update</code> flag when syncing is recommended if using <code>--use-server-modtime</code>.</p> <p>MD5 hashes are stored with blobs. However blobs that were uploaded in chunks only have an MD5 if the source remote was capable of MD5 hashes, e.g. the local disk.</p> <h3 id="performance">Performance</h3> <p>When uploading large files, increasing the value of <code>--azureblob-upload-concurrency</code> will increase performance at the cost of using more memory. The default of 16 is set quite conservatively to use less memory. It maybe be necessary raise it to 64 or higher to fully utilize a 1 GBit/s link with a single file transfer.</p> <h3 id="restricted-filename-characters">Restricted filename characters</h3> <p>In addition to the <a href="/overview/#restricted-characters">default restricted characters set</a> the following characters are also replaced:</p> <table> <thead> <tr> <th>Character</th> <th style="text-align:center">Value</th> <th style="text-align:center">Replacement</th> </tr> </thead> <tbody> <tr> <td>/</td> <td style="text-align:center">0x2F</td> <td style="text-align:center">/</td> </tr> <tr> <td>\</td> <td style="text-align:center">0x5C</td> <td style="text-align:center">\</td> </tr> </tbody> </table> <p>File names can also not end with the following characters. These only get replaced if they are the last character in the name:</p> <table> <thead> <tr> <th>Character</th> <th style="text-align:center">Value</th> <th style="text-align:center">Replacement</th> </tr> </thead> <tbody> <tr> <td>.</td> <td style="text-align:center">0x2E</td> <td style="text-align:center">.</td> </tr> </tbody> </table> <p>Invalid UTF-8 bytes will also be <a href="/overview/#invalid-utf8">replaced</a>, as they can't be used in JSON strings.</p> <h3 id="authentication">Authentication</h3> <p>There are a number of ways of supplying credentials for Azure Blob Storage. Rclone tries them in the order of the sections below.</p> <h4 id="env-auth">Env Auth</h4> <p>If the <code>env_auth</code> config parameter is <code>true</code> then rclone will pull credentials from the environment or runtime.</p> <p>It tries these authentication methods in this order:</p> <ol> <li>Environment Variables</li> <li>Managed Service Identity Credentials</li> <li>Azure CLI credentials (as used by the az tool)</li> </ol> <p>These are described in the following sections</p> <h5 id="env-auth-1-environment-variables">Env Auth: 1. Environment Variables</h5> <p>If <code>env_auth</code> is set and environment variables are present rclone authenticates a service principal with a secret or certificate, or a user with a password, depending on which environment variable are set. It reads configuration from these variables, in the following order:</p> <ol> <li>Service principal with client secret <ul> <li><code>AZURE_TENANT_ID</code>: ID of the service principal's tenant. Also called its "directory" ID.</li> <li><code>AZURE_CLIENT_ID</code>: the service principal's client ID</li> <li><code>AZURE_CLIENT_SECRET</code>: one of the service principal's client secrets</li> </ul> </li> <li>Service principal with certificate <ul> <li><code>AZURE_TENANT_ID</code>: ID of the service principal's tenant. Also called its "directory" ID.</li> <li><code>AZURE_CLIENT_ID</code>: the service principal's client ID</li> <li><code>AZURE_CLIENT_CERTIFICATE_PATH</code>: path to a PEM or PKCS12 certificate file including the private key.</li> <li><code>AZURE_CLIENT_CERTIFICATE_PASSWORD</code>: (optional) password for the certificate file.</li> <li><code>AZURE_CLIENT_SEND_CERTIFICATE_CHAIN</code>: (optional) Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to "true" or "1", authentication requests include the x5c header.</li> </ul> </li> <li>User with username and password <ul> <li><code>AZURE_TENANT_ID</code>: (optional) tenant to authenticate in. Defaults to "organizations".</li> <li><code>AZURE_CLIENT_ID</code>: client ID of the application the user will authenticate to</li> <li><code>AZURE_USERNAME</code>: a username (usually an email address)</li> <li><code>AZURE_PASSWORD</code>: the user's password</li> </ul> </li> <li>Workload Identity <ul> <li><code>AZURE_TENANT_ID</code>: Tenant to authenticate in.</li> <li><code>AZURE_CLIENT_ID</code>: Client ID of the application the user will authenticate to.</li> <li><code>AZURE_FEDERATED_TOKEN_FILE</code>: Path to projected service account token file.</li> <li><code>AZURE_AUTHORITY_HOST</code>: Authority of an Azure Active Directory endpoint (default: login.microsoftonline.com).</li> </ul> </li> </ol> <h5 id="env-auth-2-managed-service-identity-credentials">Env Auth: 2. Managed Service Identity Credentials</h5> <p>When using Managed Service Identity if the VM(SS) on which this program is running has a system-assigned identity, it will be used by default. If the resource has no system-assigned but exactly one user-assigned identity, the user-assigned identity will be used by default.</p> <p>If the resource has multiple user-assigned identities you will need to unset <code>env_auth</code> and set <code>use_msi</code> instead. See the <a href="#use_msi"><code>use_msi</code> section</a>.</p> <h5 id="env-auth-3-azure-cli-credentials-as-used-by-the-az-tool">Env Auth: 3. Azure CLI credentials (as used by the az tool)</h5> <p>Credentials created with the <code>az</code> tool can be picked up using <code>env_auth</code>.</p> <p>For example if you were to login with a service principal like this:</p> <pre><code>az login --service-principal -u XXX -p XXX --tenant XXX </code></pre> <p>Then you could access rclone resources like this:</p> <pre><code>rclone lsf :azureblob,env_auth,account=ACCOUNT:CONTAINER </code></pre> <p>Or</p> <pre><code>rclone lsf --azureblob-env-auth --azureblob-account=ACCOUNT :azureblob:CONTAINER </code></pre> <p>Which is analogous to using the <code>az</code> tool:</p> <pre><code>az storage blob list --container-name CONTAINER --account-name ACCOUNT --auth-mode login </code></pre> <h4 id="account-and-shared-key">Account and Shared Key</h4> <p>This is the most straight forward and least flexible way. Just fill in the <code>account</code> and <code>key</code> lines and leave the rest blank.</p> <h4 id="sas-url">SAS URL</h4> <p>This can be an account level SAS URL or container level SAS URL.</p> <p>To use it leave <code>account</code> and <code>key</code> blank and fill in <code>sas_url</code>.</p> <p>An account level SAS URL or container level SAS URL can be obtained from the Azure portal or the Azure Storage Explorer. To get a container level SAS URL right click on a container in the Azure Blob explorer in the Azure portal.</p> <p>If you use a container level SAS URL, rclone operations are permitted only on a particular container, e.g.</p> <pre><code>rclone ls azureblob:container </code></pre> <p>You can also list the single container from the root. This will only show the container specified by the SAS URL.</p> <pre><code>$ rclone lsd azureblob: container/ </code></pre> <p>Note that you can't see or access any other containers - this will fail</p> <pre><code>rclone ls azureblob:othercontainer </code></pre> <p>Container level SAS URLs are useful for temporarily allowing third parties access to a single container or putting credentials into an untrusted environment such as a CI build server.</p> <h4 id="service-principal-with-client-secret">Service principal with client secret</h4> <p>If these variables are set, rclone will authenticate with a service principal with a client secret.</p> <ul> <li><code>tenant</code>: ID of the service principal's tenant. Also called its "directory" ID.</li> <li><code>client_id</code>: the service principal's client ID</li> <li><code>client_secret</code>: one of the service principal's client secrets</li> </ul> <p>The credentials can also be placed in a file using the <code>service_principal_file</code> configuration option.</p> <h4 id="service-principal-with-certificate">Service principal with certificate</h4> <p>If these variables are set, rclone will authenticate with a service principal with certificate.</p> <ul> <li><code>tenant</code>: ID of the service principal's tenant. Also called its "directory" ID.</li> <li><code>client_id</code>: the service principal's client ID</li> <li><code>client_certificate_path</code>: path to a PEM or PKCS12 certificate file including the private key.</li> <li><code>client_certificate_password</code>: (optional) password for the certificate file.</li> <li><code>client_send_certificate_chain</code>: (optional) Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to "true" or "1", authentication requests include the x5c header.</li> </ul> <p><strong>NB</strong> <code>client_certificate_password</code> must be obscured - see <a href="/commands/rclone_obscure/">rclone obscure</a>.</p> <h4 id="user-with-username-and-password">User with username and password</h4> <p>If these variables are set, rclone will authenticate with username and password.</p> <ul> <li><code>tenant</code>: (optional) tenant to authenticate in. Defaults to "organizations".</li> <li><code>client_id</code>: client ID of the application the user will authenticate to</li> <li><code>username</code>: a username (usually an email address)</li> <li><code>password</code>: the user's password</li> </ul> <p>Microsoft doesn't recommend this kind of authentication, because it's less secure than other authentication flows. This method is not interactive, so it isn't compatible with any form of multi-factor authentication, and the application must already have user or admin consent. This credential can only authenticate work and school accounts; it can't authenticate Microsoft accounts.</p> <p><strong>NB</strong> <code>password</code> must be obscured - see <a href="/commands/rclone_obscure/">rclone obscure</a>.</p> <h4 id="use_msi">Managed Service Identity Credentials</h4> <p>If <code>use_msi</code> is set then managed service identity credentials are used. This authentication only works when running in an Azure service. <code>env_auth</code> needs to be unset to use this.</p> <p>However if you have multiple user identities to choose from these must be explicitly specified using exactly one of the <code>msi_object_id</code>, <code>msi_client_id</code>, or <code>msi_mi_res_id</code> parameters.</p> <p>If none of <code>msi_object_id</code>, <code>msi_client_id</code>, or <code>msi_mi_res_id</code> is set, this is is equivalent to using <code>env_auth</code>.</p> <h4 id="anonymous">Anonymous</h4> <p>If you want to access resources with public anonymous access then set <code>account</code> only. You can do this without making an rclone config:</p> <pre><code>rclone lsf :azureblob,account=ACCOUNT:CONTAINER </code></pre> <h3 id="standard-options">Standard options</h3> <p>Here are the Standard options specific to azureblob (Microsoft Azure Blob Storage).</p> <h4 id="azureblob-account">--azureblob-account</h4> <p>Azure Storage Account Name.</p> <p>Set this to the Azure Storage Account Name in use.</p> <p>Leave blank to use SAS URL or Emulator, otherwise it needs to be set.</p> <p>If this is blank and if env_auth is set it will be read from the environment variable <code>AZURE_STORAGE_ACCOUNT_NAME</code> if possible.</p> <p>Properties:</p> <ul> <li>Config: account</li> <li>Env Var: RCLONE_AZUREBLOB_ACCOUNT</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-env-auth">--azureblob-env-auth</h4> <p>Read credentials from runtime (environment variables, CLI or MSI).</p> <p>See the <a href="/azureblob#authentication">authentication docs</a> for full info.</p> <p>Properties:</p> <ul> <li>Config: env_auth</li> <li>Env Var: RCLONE_AZUREBLOB_ENV_AUTH</li> <li>Type: bool</li> <li>Default: false</li> </ul> <h4 id="azureblob-key">--azureblob-key</h4> <p>Storage Account Shared Key.</p> <p>Leave blank to use SAS URL or Emulator.</p> <p>Properties:</p> <ul> <li>Config: key</li> <li>Env Var: RCLONE_AZUREBLOB_KEY</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-sas-url">--azureblob-sas-url</h4> <p>SAS URL for container level access only.</p> <p>Leave blank if using account/key or Emulator.</p> <p>Properties:</p> <ul> <li>Config: sas_url</li> <li>Env Var: RCLONE_AZUREBLOB_SAS_URL</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-tenant">--azureblob-tenant</h4> <p>ID of the service principal's tenant. Also called its directory ID.</p> <p>Set this if using</p> <ul> <li>Service principal with client secret</li> <li>Service principal with certificate</li> <li>User with username and password</li> </ul> <p>Properties:</p> <ul> <li>Config: tenant</li> <li>Env Var: RCLONE_AZUREBLOB_TENANT</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-client-id">--azureblob-client-id</h4> <p>The ID of the client in use.</p> <p>Set this if using</p> <ul> <li>Service principal with client secret</li> <li>Service principal with certificate</li> <li>User with username and password</li> </ul> <p>Properties:</p> <ul> <li>Config: client_id</li> <li>Env Var: RCLONE_AZUREBLOB_CLIENT_ID</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-client-secret">--azureblob-client-secret</h4> <p>One of the service principal's client secrets</p> <p>Set this if using</p> <ul> <li>Service principal with client secret</li> </ul> <p>Properties:</p> <ul> <li>Config: client_secret</li> <li>Env Var: RCLONE_AZUREBLOB_CLIENT_SECRET</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-client-certificate-path">--azureblob-client-certificate-path</h4> <p>Path to a PEM or PKCS12 certificate file including the private key.</p> <p>Set this if using</p> <ul> <li>Service principal with certificate</li> </ul> <p>Properties:</p> <ul> <li>Config: client_certificate_path</li> <li>Env Var: RCLONE_AZUREBLOB_CLIENT_CERTIFICATE_PATH</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-client-certificate-password">--azureblob-client-certificate-password</h4> <p>Password for the certificate file (optional).</p> <p>Optionally set this if using</p> <ul> <li>Service principal with certificate</li> </ul> <p>And the certificate has a password.</p> <p><strong>NB</strong> Input to this must be obscured - see <a href="/commands/rclone_obscure/">rclone obscure</a>.</p> <p>Properties:</p> <ul> <li>Config: client_certificate_password</li> <li>Env Var: RCLONE_AZUREBLOB_CLIENT_CERTIFICATE_PASSWORD</li> <li>Type: string</li> <li>Required: false</li> </ul> <h3 id="advanced-options">Advanced options</h3> <p>Here are the Advanced options specific to azureblob (Microsoft Azure Blob Storage).</p> <h4 id="azureblob-client-send-certificate-chain">--azureblob-client-send-certificate-chain</h4> <p>Send the certificate chain when using certificate auth.</p> <p>Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to true, authentication requests include the x5c header.</p> <p>Optionally set this if using</p> <ul> <li>Service principal with certificate</li> </ul> <p>Properties:</p> <ul> <li>Config: client_send_certificate_chain</li> <li>Env Var: RCLONE_AZUREBLOB_CLIENT_SEND_CERTIFICATE_CHAIN</li> <li>Type: bool</li> <li>Default: false</li> </ul> <h4 id="azureblob-username">--azureblob-username</h4> <p>User name (usually an email address)</p> <p>Set this if using</p> <ul> <li>User with username and password</li> </ul> <p>Properties:</p> <ul> <li>Config: username</li> <li>Env Var: RCLONE_AZUREBLOB_USERNAME</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-password">--azureblob-password</h4> <p>The user's password</p> <p>Set this if using</p> <ul> <li>User with username and password</li> </ul> <p><strong>NB</strong> Input to this must be obscured - see <a href="/commands/rclone_obscure/">rclone obscure</a>.</p> <p>Properties:</p> <ul> <li>Config: password</li> <li>Env Var: RCLONE_AZUREBLOB_PASSWORD</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-service-principal-file">--azureblob-service-principal-file</h4> <p>Path to file containing credentials for use with a service principal.</p> <p>Leave blank normally. Needed only if you want to use a service principal instead of interactive login.</p> <pre><code>$ az ad sp create-for-rbac --name "<name>" \ --role "Storage Blob Data Owner" \ --scopes "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>" \ > azure-principal.json </code></pre> <p>See <a href="https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli">"Create an Azure service principal"</a> and <a href="https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-rbac-cli">"Assign an Azure role for access to blob data"</a> pages for more details.</p> <p>It may be more convenient to put the credentials directly into the rclone config file under the <code>client_id</code>, <code>tenant</code> and <code>client_secret</code> keys instead of setting <code>service_principal_file</code>.</p> <p>Properties:</p> <ul> <li>Config: service_principal_file</li> <li>Env Var: RCLONE_AZUREBLOB_SERVICE_PRINCIPAL_FILE</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-use-msi">--azureblob-use-msi</h4> <p>Use a managed service identity to authenticate (only works in Azure).</p> <p>When true, use a <a href="https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/">managed service identity</a> to authenticate to Azure Storage instead of a SAS token or account key.</p> <p>If the VM(SS) on which this program is running has a system-assigned identity, it will be used by default. If the resource has no system-assigned but exactly one user-assigned identity, the user-assigned identity will be used by default. If the resource has multiple user-assigned identities, the identity to use must be explicitly specified using exactly one of the msi_object_id, msi_client_id, or msi_mi_res_id parameters.</p> <p>Properties:</p> <ul> <li>Config: use_msi</li> <li>Env Var: RCLONE_AZUREBLOB_USE_MSI</li> <li>Type: bool</li> <li>Default: false</li> </ul> <h4 id="azureblob-msi-object-id">--azureblob-msi-object-id</h4> <p>Object ID of the user-assigned MSI to use, if any.</p> <p>Leave blank if msi_client_id or msi_mi_res_id specified.</p> <p>Properties:</p> <ul> <li>Config: msi_object_id</li> <li>Env Var: RCLONE_AZUREBLOB_MSI_OBJECT_ID</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-msi-client-id">--azureblob-msi-client-id</h4> <p>Object ID of the user-assigned MSI to use, if any.</p> <p>Leave blank if msi_object_id or msi_mi_res_id specified.</p> <p>Properties:</p> <ul> <li>Config: msi_client_id</li> <li>Env Var: RCLONE_AZUREBLOB_MSI_CLIENT_ID</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-msi-mi-res-id">--azureblob-msi-mi-res-id</h4> <p>Azure resource ID of the user-assigned MSI to use, if any.</p> <p>Leave blank if msi_client_id or msi_object_id specified.</p> <p>Properties:</p> <ul> <li>Config: msi_mi_res_id</li> <li>Env Var: RCLONE_AZUREBLOB_MSI_MI_RES_ID</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-use-emulator">--azureblob-use-emulator</h4> <p>Uses local storage emulator if provided as 'true'.</p> <p>Leave blank if using real azure storage endpoint.</p> <p>Properties:</p> <ul> <li>Config: use_emulator</li> <li>Env Var: RCLONE_AZUREBLOB_USE_EMULATOR</li> <li>Type: bool</li> <li>Default: false</li> </ul> <h4 id="azureblob-endpoint">--azureblob-endpoint</h4> <p>Endpoint for the service.</p> <p>Leave blank normally.</p> <p>Properties:</p> <ul> <li>Config: endpoint</li> <li>Env Var: RCLONE_AZUREBLOB_ENDPOINT</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-upload-cutoff">--azureblob-upload-cutoff</h4> <p>Cutoff for switching to chunked upload (<= 256 MiB) (deprecated).</p> <p>Properties:</p> <ul> <li>Config: upload_cutoff</li> <li>Env Var: RCLONE_AZUREBLOB_UPLOAD_CUTOFF</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-chunk-size">--azureblob-chunk-size</h4> <p>Upload chunk size.</p> <p>Note that this is stored in memory and there may be up to "--transfers" * "--azureblob-upload-concurrency" chunks stored at once in memory.</p> <p>Properties:</p> <ul> <li>Config: chunk_size</li> <li>Env Var: RCLONE_AZUREBLOB_CHUNK_SIZE</li> <li>Type: SizeSuffix</li> <li>Default: 4Mi</li> </ul> <h4 id="azureblob-upload-concurrency">--azureblob-upload-concurrency</h4> <p>Concurrency for multipart uploads.</p> <p>This is the number of chunks of the same file that are uploaded concurrently.</p> <p>If you are uploading small numbers of large files over high-speed links and these uploads do not fully utilize your bandwidth, then increasing this may help to speed up the transfers.</p> <p>In tests, upload speed increases almost linearly with upload concurrency. For example to fill a gigabit pipe it may be necessary to raise this to 64. Note that this will use more memory.</p> <p>Note that chunks are stored in memory and there may be up to "--transfers" * "--azureblob-upload-concurrency" chunks stored at once in memory.</p> <p>Properties:</p> <ul> <li>Config: upload_concurrency</li> <li>Env Var: RCLONE_AZUREBLOB_UPLOAD_CONCURRENCY</li> <li>Type: int</li> <li>Default: 16</li> </ul> <h4 id="azureblob-list-chunk">--azureblob-list-chunk</h4> <p>Size of blob list.</p> <p>This sets the number of blobs requested in each listing chunk. Default is the maximum, 5000. "List blobs" requests are permitted 2 minutes per megabyte to complete. If an operation is taking longer than 2 minutes per megabyte on average, it will time out ( <a href="https://docs.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-blob-service-operations#exceptions-to-default-timeout-interval">source</a> ). This can be used to limit the number of blobs items to return, to avoid the time out.</p> <p>Properties:</p> <ul> <li>Config: list_chunk</li> <li>Env Var: RCLONE_AZUREBLOB_LIST_CHUNK</li> <li>Type: int</li> <li>Default: 5000</li> </ul> <h4 id="azureblob-access-tier">--azureblob-access-tier</h4> <p>Access tier of blob: hot, cool, cold or archive.</p> <p>Archived blobs can be restored by setting access tier to hot, cool or cold. Leave blank if you intend to use default access tier, which is set at account level</p> <p>If there is no "access tier" specified, rclone doesn't apply any tier. rclone performs "Set Tier" operation on blobs while uploading, if objects are not modified, specifying "access tier" to new one will have no effect. If blobs are in "archive tier" at remote, trying to perform data transfer operations from remote will not be allowed. User should first restore by tiering blob to "Hot", "Cool" or "Cold".</p> <p>Properties:</p> <ul> <li>Config: access_tier</li> <li>Env Var: RCLONE_AZUREBLOB_ACCESS_TIER</li> <li>Type: string</li> <li>Required: false</li> </ul> <h4 id="azureblob-archive-tier-delete">--azureblob-archive-tier-delete</h4> <p>Delete archive tier blobs before overwriting.</p> <p>Archive tier blobs cannot be updated. So without this flag, if you attempt to update an archive tier blob, then rclone will produce the error:</p> <pre><code>can't update archive tier blob without --azureblob-archive-tier-delete </code></pre> <p>With this flag set then before rclone attempts to overwrite an archive tier blob, it will delete the existing blob before uploading its replacement. This has the potential for data loss if the upload fails (unlike updating a normal blob) and also may cost more since deleting archive tier blobs early may be chargable.</p> <p>Properties:</p> <ul> <li>Config: archive_tier_delete</li> <li>Env Var: RCLONE_AZUREBLOB_ARCHIVE_TIER_DELETE</li> <li>Type: bool</li> <li>Default: false</li> </ul> <h4 id="azureblob-disable-checksum">--azureblob-disable-checksum</h4> <p>Don't store MD5 checksum with object metadata.</p> <p>Normally rclone will calculate the MD5 checksum of the input before uploading it so it can add it to metadata on the object. This is great for data integrity checking but can cause long delays for large files to start uploading.</p> <p>Properties:</p> <ul> <li>Config: disable_checksum</li> <li>Env Var: RCLONE_AZUREBLOB_DISABLE_CHECKSUM</li> <li>Type: bool</li> <li>Default: false</li> </ul> <h4 id="azureblob-memory-pool-flush-time">--azureblob-memory-pool-flush-time</h4> <p>How often internal memory buffer pools will be flushed. (no longer used)</p> <p>Properties:</p> <ul> <li>Config: memory_pool_flush_time</li> <li>Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_FLUSH_TIME</li> <li>Type: Duration</li> <li>Default: 1m0s</li> </ul> <h4 id="azureblob-memory-pool-use-mmap">--azureblob-memory-pool-use-mmap</h4> <p>Whether to use mmap buffers in internal memory pool. (no longer used)</p> <p>Properties:</p> <ul> <li>Config: memory_pool_use_mmap</li> <li>Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_USE_MMAP</li> <li>Type: bool</li> <li>Default: false</li> </ul> <h4 id="azureblob-encoding">--azureblob-encoding</h4> <p>The encoding for the backend.</p> <p>See the <a href="/overview/#encoding">encoding section in the overview</a> for more info.</p> <p>Properties:</p> <ul> <li>Config: encoding</li> <li>Env Var: RCLONE_AZUREBLOB_ENCODING</li> <li>Type: Encoding</li> <li>Default: Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8</li> </ul> <h4 id="azureblob-public-access">--azureblob-public-access</h4> <p>Public access level of a container: blob or container.</p> <p>Properties:</p> <ul> <li>Config: public_access</li> <li>Env Var: RCLONE_AZUREBLOB_PUBLIC_ACCESS</li> <li>Type: string</li> <li>Required: false</li> <li>Examples: <ul> <li>"" <ul> <li>The container and its blobs can be accessed only with an authorized request.</li> <li>It's a default value.</li> </ul> </li> <li>"blob" <ul> <li>Blob data within this container can be read via anonymous request.</li> </ul> </li> <li>"container" <ul> <li>Allow full public read access for container and blob data.</li> </ul> </li> </ul> </li> </ul> <h4 id="azureblob-directory-markers">--azureblob-directory-markers</h4> <p>Upload an empty object with a trailing slash when a new directory is created</p> <p>Empty folders are unsupported for bucket based remotes, this option creates an empty object ending with "/", to persist the folder.</p> <p>This object also has the metadata "hdi_isfolder = true" to conform to the Microsoft standard.</p> <p>Properties:</p> <ul> <li>Config: directory_markers</li> <li>Env Var: RCLONE_AZUREBLOB_DIRECTORY_MARKERS</li> <li>Type: bool</li> <li>Default: false</li> </ul> <h4 id="azureblob-no-check-container">--azureblob-no-check-container</h4> <p>If set, don't attempt to check the container exists or create it.</p> <p>This can be useful when trying to minimise the number of transactions rclone does if you know the container exists already.</p> <p>Properties:</p> <ul> <li>Config: no_check_container</li> <li>Env Var: RCLONE_AZUREBLOB_NO_CHECK_CONTAINER</li> <li>Type: bool</li> <li>Default: false</li> </ul> <h4 id="azureblob-no-head-object">--azureblob-no-head-object</h4> <p>If set, do not do HEAD before GET when getting objects.</p> <p>Properties:</p> <ul> <li>Config: no_head_object</li> <li>Env Var: RCLONE_AZUREBLOB_NO_HEAD_OBJECT</li> <li>Type: bool</li> <li>Default: false</li> </ul> <h4 id="azureblob-delete-snapshots">--azureblob-delete-snapshots</h4> <p>Set to specify how to deal with snapshots on blob deletion.</p> <p>Properties:</p> <ul> <li>Config: delete_snapshots</li> <li>Env Var: RCLONE_AZUREBLOB_DELETE_SNAPSHOTS</li> <li>Type: string</li> <li>Required: false</li> <li>Choices: <ul> <li>"" <ul> <li>By default, the delete operation fails if a blob has snapshots</li> </ul> </li> <li>"include" <ul> <li>Specify 'include' to remove the root blob and all its snapshots</li> </ul> </li> <li>"only" <ul> <li>Specify 'only' to remove only the snapshots but keep the root blob.</li> </ul> </li> </ul> </li> </ul> <h4 id="azureblob-description">--azureblob-description</h4> <p>Description of the remote.</p> <p>Properties:</p> <ul> <li>Config: description</li> <li>Env Var: RCLONE_AZUREBLOB_DESCRIPTION</li> <li>Type: string</li> <li>Required: false</li> </ul> <h3 id="custom-upload-headers">Custom upload headers</h3> <p>You can set custom upload headers with the <code>--header-upload</code> flag.</p> <ul> <li>Cache-Control</li> <li>Content-Disposition</li> <li>Content-Encoding</li> <li>Content-Language</li> <li>Content-Type</li> </ul> <p>Eg <code>--header-upload "Content-Type: text/potato"</code></p> <h2 id="limitations">Limitations</h2> <p>MD5 sums are only uploaded with chunked files if the source has an MD5 sum. This will always be the case for a local to azure copy.</p> <p><code>rclone about</code> is not supported by the Microsoft Azure Blob storage backend. Backends without this capability cannot determine free space for an rclone mount or use policy <code>mfs</code> (most free space) as a member of an rclone union remote.</p> <p>See <a href="https://rclone.org/overview/#optional-features">List of backends that do not support rclone about</a> and <a href="https://rclone.org/commands/rclone_about/">rclone about</a></p> <h2 id="azure-storage-emulator-support">Azure Storage Emulator Support</h2> <p>You can run rclone with the storage emulator (usually <em>azurite</em>).</p> <p>To do this, just set up a new remote with <code>rclone config</code> following the instructions in the introduction and set <code>use_emulator</code> in the advanced settings as <code>true</code>. You do not need to provide a default account name nor an account key. But you can override them in the <code>account</code> and <code>key</code> options. (Prior to v1.61 they were hard coded to <em>azurite</em>'s <code>devstoreaccount1</code>.)</p> <p>Also, if you want to access a storage emulator instance running on a different machine, you can override the <code>endpoint</code> parameter in the advanced settings, setting it to <code>http(s)://<host>:<port>/devstoreaccount1</code> (e.g. <code>http://10.254.2.5:10000/devstoreaccount1</code>).</p> </div> <div class="col-md-3"> <div class="card"> <div class="card-header" style="padding: 5px 10px;"> Contents </div> <div class="card-body"> <nav id="TableOfContents"> <ul> <li><a href="#configuration">Configuration</a> <ul> <li><a href="#fast-list">--fast-list</a></li> <li><a href="#modification-times-and-hashes">Modification times and hashes</a></li> <li><a href="#performance">Performance</a></li> <li><a href="#restricted-filename-characters">Restricted filename characters</a></li> <li><a href="#authentication">Authentication</a></li> <li><a href="#standard-options">Standard options</a></li> <li><a href="#advanced-options">Advanced options</a></li> <li><a href="#custom-upload-headers">Custom upload headers</a></li> </ul> </li> <li><a href="#limitations">Limitations</a></li> <li><a href="#azure-storage-emulator-support">Azure Storage Emulator Support</a></li> </ul> </nav> <p></p> </div> </div> <div class="card"> <div class="card-header" style="padding: 5px 15px;"> Platinum Sponsor </div> <div class="card-body"> <a href="https://www.backblaze.com/cloud-storage?utm_source=publisher&utm_medium=paid&utm_campaign=break-free-app-storage-q224-rclone" target="_blank" rel="noopener" title="Visit rclone's sponsor Backblaze"><img src="/img/logos/backblaze.svg"></a><br /> </div> </div> <div class="card"> <div class="card-header" style="padding: 5px 15px;"> Gold Sponsor </div> <div class="card-body"> <a href="https://www.idrive.com/e2/?refer=rclone" target="_blank" rel="noopener" title="Visit rclone's sponsor IDrive e2"><img src="/img/logos/idrive_e2.svg" viewBox="0 0 60 55"></a><br /> </div> </div> <div class="card"> <div class="card-header" style="padding: 5px 10px;"> Share and Enjoy </div> <div class="card-body"> <p class="menu"> <i class="fab fa-twitter fa-fw" aria-hidden="true"></i> <a href="https://twitter.com/intent/tweet/?text=rclone%20-%20rsync%20for%20cloud%20storage%20from%20%40njcw&url=https%3A%2F%2Frclone.org" target="_blank" rel="noopener" aria-label="Share on Twitter">Twitter</a><br /> <i class="fab fa-facebook fa-fw" aria-hidden="true"></i> <a href="https://facebook.com/sharer/sharer.php?u=https%3A%2F%2Frclone.org" target="_blank" rel="noopener" aria-label="Share on Facebook">Facebook</a><br /> <i class="fab fa-reddit fa-fw" aria-hidden="true"></i> <a href="https://reddit.com/submit/?url=https%3A%2F%2Frclone.org&resubmit=true&title=rclone%20-%20rsync%20for%20cloud%20storage" target="_blank" rel="noopener" aria-label="Share on Reddit">Reddit</a><br /> <iframe src="//ghbtns.com/github-btn.html?user=rclone&repo=rclone&type=star&count=true" allowtransparency="true" frameborder="0" scrolling="no" width="120" height="20"></iframe> </p> </div> </div> <div class="card"> <div class="card-header" style="padding: 5px 15px;"> Links </div> <div class="card-body"> <p class="menu"> <i class="fa fa-comments fa-fw" aria-hidden="true"></i> <a href="https://forum.rclone.org">Rclone forum</a><br /> <i class="fab fa-github fa-fw" aria-hidden="true"></i> <a href="https://github.com/rclone/rclone">GitHub project</a><br /> <i class="fa fa-book fa-fw" aria-hidden="true"></i> <a href="https://github.com/rclone/rclone/wiki">Rclone Wiki</a><br /> <i class="fa fa-heart heart fa-fw" aria-hidden="true"></i> <a href="/sponsor/">Sponsor</a><br /> <i class="fab fa-twitter fa-fw" aria-hidden="true"></i> <a href="https://twitter.com/njcw">@njcw</a> </p> </div> </div> </div> </div> <footer> <div class="row"> <div class="col-md-10"> <div class="card card-body"> <p style="font-size: 90%;"> © <a href="https://www.craig-wood.com/nick/" target="blank">Nick Craig-Wood</a> 2014-2024<br> Source file <a href="https://github.com/rclone/rclone/blob/master/docs/content/azureblob.md" target="blank">azureblob.md</a> last updated <a href="https://github.com/rclone/rclone/commit/da25305ba0279abfdaad71ad031d36c447500f2b">2024-08-16</a><br> Uploaded with <a href="https://rclone.org">rclone</a>. Built with <a href="https://gohugo.io/" target="blank">Hugo</a>. Logo by <a href="https://twitter.com/andy23" target="blank">@andy23</a>. Served by <a href="https://caddyserver.com/" target="blank">Caddy</a>. Hosted at <a href="https://hetzner.cloud/?ref=62WcciVmlzHt" title="Get €20 in cloud credits" target="blank">Hetzner Cloud</a>. </p> </div> </div> </div> </footer> </div> <script src="/js/jquery.min.3.5.1.js"></script> <script src="/js/popper.min.1.16.0.js"></script> <script src="/js/bootstrap.min.4.4.1.js"></script> <script src="/js/custom.js?r=-62135596800"></script> <script src="/js/search.js?r=-62135596800"></script> </body> </html>