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.