github.com/10XDev/rclone@v1.52.3-0.20200626220027-16af9ab76b2a/docs/content/azureblob.md (about) 1 --- 2 title: "Microsoft Azure Blob Storage" 3 description: "Rclone docs for Microsoft Azure Blob Storage" 4 --- 5 6 {{< icon "fab fa-windows" >}} Microsoft Azure Blob Storage 7 ----------------------------------------- 8 9 Paths are specified as `remote:container` (or `remote:` for the `lsd` 10 command.) You may put subdirectories in too, eg 11 `remote:container/path/to/dir`. 12 13 Here is an example of making a Microsoft Azure Blob Storage 14 configuration. For a remote called `remote`. First run: 15 16 rclone config 17 18 This will guide you through an interactive setup process: 19 20 ``` 21 No remotes found - make a new one 22 n) New remote 23 s) Set configuration password 24 q) Quit config 25 n/s/q> n 26 name> remote 27 Type of storage to configure. 28 Choose a number from below, or type in your own value 29 [snip] 30 XX / Microsoft Azure Blob Storage 31 \ "azureblob" 32 [snip] 33 Storage> azureblob 34 Storage Account Name 35 account> account_name 36 Storage Account Key 37 key> base64encodedkey== 38 Endpoint for the service - leave blank normally. 39 endpoint> 40 Remote config 41 -------------------- 42 [remote] 43 account = account_name 44 key = base64encodedkey== 45 endpoint = 46 -------------------- 47 y) Yes this is OK 48 e) Edit this remote 49 d) Delete this remote 50 y/e/d> y 51 ``` 52 53 See all containers 54 55 rclone lsd remote: 56 57 Make a new container 58 59 rclone mkdir remote:container 60 61 List the contents of a container 62 63 rclone ls remote:container 64 65 Sync `/home/local/directory` to the remote container, deleting any excess 66 files in the container. 67 68 rclone sync /home/local/directory remote:container 69 70 ### --fast-list ### 71 72 This remote supports `--fast-list` which allows you to use fewer 73 transactions in exchange for more memory. See the [rclone 74 docs](/docs/#fast-list) for more details. 75 76 ### Modified time ### 77 78 The modified time is stored as metadata on the object with the `mtime` 79 key. It is stored using RFC3339 Format time with nanosecond 80 precision. The metadata is supplied during directory listings so 81 there is no overhead to using it. 82 83 ### Restricted filename characters 84 85 In addition to the [default restricted characters set](/overview/#restricted-characters) 86 the following characters are also replaced: 87 88 | Character | Value | Replacement | 89 | --------- |:-----:|:-----------:| 90 | / | 0x2F | / | 91 | \ | 0x5C | \ | 92 93 File names can also not end with the following characters. 94 These only get replaced if they are the last character in the name: 95 96 | Character | Value | Replacement | 97 | --------- |:-----:|:-----------:| 98 | . | 0x2E | . | 99 100 Invalid UTF-8 bytes will also be [replaced](/overview/#invalid-utf8), 101 as they can't be used in JSON strings. 102 103 ### Hashes ### 104 105 MD5 hashes are stored with blobs. However blobs that were uploaded in 106 chunks only have an MD5 if the source remote was capable of MD5 107 hashes, eg the local disk. 108 109 ### Authenticating with Azure Blob Storage 110 111 Rclone has 3 ways of authenticating with Azure Blob Storage: 112 113 #### Account and Key 114 115 This is the most straight forward and least flexible way. Just fill 116 in the `account` and `key` lines and leave the rest blank. 117 118 #### SAS URL 119 120 This can be an account level SAS URL or container level SAS URL. 121 122 To use it leave `account`, `key` blank and fill in `sas_url`. 123 124 An account level SAS URL or container level SAS URL can be obtained 125 from the Azure portal or the Azure Storage Explorer. To get a 126 container level SAS URL right click on a container in the Azure Blob 127 explorer in the Azure portal. 128 129 If you use a container level SAS URL, rclone operations are permitted 130 only on a particular container, eg 131 132 rclone ls azureblob:container 133 134 You can also list the single container from the root. This will only 135 show the container specified by the SAS URL. 136 137 $ rclone lsd azureblob: 138 container/ 139 140 Note that you can't see or access any other containers - this will 141 fail 142 143 rclone ls azureblob:othercontainer 144 145 Container level SAS URLs are useful for temporarily allowing third 146 parties access to a single container or putting credentials into an 147 untrusted environment such as a CI build server. 148 149 ### Multipart uploads ### 150 151 Rclone supports multipart uploads with Azure Blob storage. Files 152 bigger than 256MB will be uploaded using chunked upload by default. 153 154 The files will be uploaded in parallel in 4MB chunks (by default). 155 Note that these chunks are buffered in memory and there may be up to 156 `--transfers` of them being uploaded at once. 157 158 Files can't be split into more than 50,000 chunks so by default, so 159 the largest file that can be uploaded with 4MB chunk size is 195GB. 160 Above this rclone will double the chunk size until it creates less 161 than 50,000 chunks. By default this will mean a maximum file size of 162 3.2TB can be uploaded. This can be raised to 5TB using 163 `--azureblob-chunk-size 100M`. 164 165 Note that rclone doesn't commit the block list until the end of the 166 upload which means that there is a limit of 9.5TB of multipart uploads 167 in progress as Azure won't allow more than that amount of uncommitted 168 blocks. 169 170 {{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/azureblob/azureblob.go then run make backenddocs" >}} 171 ### Standard Options 172 173 Here are the standard options specific to azureblob (Microsoft Azure Blob Storage). 174 175 #### --azureblob-account 176 177 Storage Account Name (leave blank to use SAS URL or Emulator) 178 179 - Config: account 180 - Env Var: RCLONE_AZUREBLOB_ACCOUNT 181 - Type: string 182 - Default: "" 183 184 #### --azureblob-key 185 186 Storage Account Key (leave blank to use SAS URL or Emulator) 187 188 - Config: key 189 - Env Var: RCLONE_AZUREBLOB_KEY 190 - Type: string 191 - Default: "" 192 193 #### --azureblob-sas-url 194 195 SAS URL for container level access only 196 (leave blank if using account/key or Emulator) 197 198 - Config: sas_url 199 - Env Var: RCLONE_AZUREBLOB_SAS_URL 200 - Type: string 201 - Default: "" 202 203 #### --azureblob-use-emulator 204 205 Uses local storage emulator if provided as 'true' (leave blank if using real azure storage endpoint) 206 207 - Config: use_emulator 208 - Env Var: RCLONE_AZUREBLOB_USE_EMULATOR 209 - Type: bool 210 - Default: false 211 212 ### Advanced Options 213 214 Here are the advanced options specific to azureblob (Microsoft Azure Blob Storage). 215 216 #### --azureblob-endpoint 217 218 Endpoint for the service 219 Leave blank normally. 220 221 - Config: endpoint 222 - Env Var: RCLONE_AZUREBLOB_ENDPOINT 223 - Type: string 224 - Default: "" 225 226 #### --azureblob-upload-cutoff 227 228 Cutoff for switching to chunked upload (<= 256MB). 229 230 - Config: upload_cutoff 231 - Env Var: RCLONE_AZUREBLOB_UPLOAD_CUTOFF 232 - Type: SizeSuffix 233 - Default: 256M 234 235 #### --azureblob-chunk-size 236 237 Upload chunk size (<= 100MB). 238 239 Note that this is stored in memory and there may be up to 240 "--transfers" chunks stored at once in memory. 241 242 - Config: chunk_size 243 - Env Var: RCLONE_AZUREBLOB_CHUNK_SIZE 244 - Type: SizeSuffix 245 - Default: 4M 246 247 #### --azureblob-list-chunk 248 249 Size of blob list. 250 251 This sets the number of blobs requested in each listing chunk. Default 252 is the maximum, 5000. "List blobs" requests are permitted 2 minutes 253 per megabyte to complete. If an operation is taking longer than 2 254 minutes per megabyte on average, it will time out ( 255 [source](https://docs.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-blob-service-operations#exceptions-to-default-timeout-interval) 256 ). This can be used to limit the number of blobs items to return, to 257 avoid the time out. 258 259 - Config: list_chunk 260 - Env Var: RCLONE_AZUREBLOB_LIST_CHUNK 261 - Type: int 262 - Default: 5000 263 264 #### --azureblob-access-tier 265 266 Access tier of blob: hot, cool or archive. 267 268 Archived blobs can be restored by setting access tier to hot or 269 cool. Leave blank if you intend to use default access tier, which is 270 set at account level 271 272 If there is no "access tier" specified, rclone doesn't apply any tier. 273 rclone performs "Set Tier" operation on blobs while uploading, if objects 274 are not modified, specifying "access tier" to new one will have no effect. 275 If blobs are in "archive tier" at remote, trying to perform data transfer 276 operations from remote will not be allowed. User should first restore by 277 tiering blob to "Hot" or "Cool". 278 279 - Config: access_tier 280 - Env Var: RCLONE_AZUREBLOB_ACCESS_TIER 281 - Type: string 282 - Default: "" 283 284 #### --azureblob-disable-checksum 285 286 Don't store MD5 checksum with object metadata. 287 288 Normally rclone will calculate the MD5 checksum of the input before 289 uploading it so it can add it to metadata on the object. This is great 290 for data integrity checking but can cause long delays for large files 291 to start uploading. 292 293 - Config: disable_checksum 294 - Env Var: RCLONE_AZUREBLOB_DISABLE_CHECKSUM 295 - Type: bool 296 - Default: false 297 298 #### --azureblob-memory-pool-flush-time 299 300 How often internal memory buffer pools will be flushed. 301 Uploads which requires additional buffers (f.e multipart) will use memory pool for allocations. 302 This option controls how often unused buffers will be removed from the pool. 303 304 - Config: memory_pool_flush_time 305 - Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_FLUSH_TIME 306 - Type: Duration 307 - Default: 1m0s 308 309 #### --azureblob-memory-pool-use-mmap 310 311 Whether to use mmap buffers in internal memory pool. 312 313 - Config: memory_pool_use_mmap 314 - Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_USE_MMAP 315 - Type: bool 316 - Default: false 317 318 #### --azureblob-encoding 319 320 This sets the encoding for the backend. 321 322 See: the [encoding section in the overview](/overview/#encoding) for more info. 323 324 - Config: encoding 325 - Env Var: RCLONE_AZUREBLOB_ENCODING 326 - Type: MultiEncoder 327 - Default: Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8 328 329 {{< rem autogenerated options stop >}} 330 331 ### Limitations ### 332 333 MD5 sums are only uploaded with chunked files if the source has an MD5 334 sum. This will always be the case for a local to azure copy. 335 336 ### Azure Storage Emulator Support ### 337 You can test rclone with storage emulator locally, to do this make sure azure storage emulator 338 installed locally and set up a new remote with `rclone config` follow instructions described in 339 introduction, set `use_emulator` config as `true`, you do not need to provide default account name 340 or key if using emulator.