AzCopy v10 configuration settings (Azure Storage)
AzCopy is a command-line utility that you can use to copy blobs or files to or from a storage account. This article contains a list of environment variables that you can use to configure AzCopy v10.
Note
If you're looking for content to help you get started with AzCopy, see Get started with AzCopy.
The following table describes each environment variable and provides links to content that can help you use the variable.
Environment variable | Description |
---|---|
AWS_ACCESS_KEY_ID | Amazon Web Services access key. Provides a key to authorize with Amazon Web Services.Copy data from Amazon S3 to Azure Storage by using AzCopy |
AWS_SECRET_ACCESS_KEY | Amazon Web Services secret access key Provides a secret key to authorize with Amazon Web Services. Copy data from Amazon S3 to Azure Storage by using AzCopy |
AZCOPY_ACTIVE_DIRECTORY_ENDPOINT | The Microsoft Entra endpoint to use. This variable is only used for auto login, please use the command line flag instead when invoking the login command. |
AZCOPY_AUTO_LOGIN_TYPE | Set this variable to DEVICE , MSI , SPN , AZCLI , and PSCRED . This variable provides the ability to authorize without using the azcopy login command. See Authorize access to blobs with AzCopy and Microsoft Entra ID. |
AZCOPY_BUFFER_GB | Specify the maximum amount of your system memory you want AzCopy to use when downloading and uploading files. Express this value in gigabytes (GB). See Optimize memory use |
AZCOPY_CACHE_PROXY_LOOKUP | By default AzCopy on Windows will cache proxy server lookups at hostname level (not taking URL path into account). Set to any other value than 'true' to disable the cache. |
AZCOPY_CONCURRENCY_VALUE | Specifies the number of concurrent requests that can occur. You can use this variable to increase throughput. If your computer has fewer than 5 CPUs, then the value of this variable is set to 32 . Otherwise, the default value is equal to 16 multiplied by the number of CPUs. The maximum default value of this variable is 3000 , but you can manually set this value higher or lower. See Increase concurrency |
AZCOPY_CONCURRENT_FILES | Overrides the (approximate) number of files that are in progress at any one time, by controlling how many files we concurrently initiate transfers for. |
AZCOPY_CONCURRENT_SCAN | Controls the (max) degree of parallelism used during scanning. Only affects parallelized enumerators, which include Azure Files/Blobs, and local file systems. |
AZCOPY_CONTENT_TYPE_MAP | Overrides one or more of the default MIME type mappings defined by your operating system. Set this variable to the path of a JSON file that defines any mapping. Here's the contents of an example JSON file: { "MIMETypeMapping": { ".323": "text/h323", ".aaf": "application/octet-stream", ".aca": "application/octet-stream", ".accdb": "application/msaccess" } } |
AZCOPY_DEFAULT_SERVICE_API_VERSION | Overrides the service API version so that AzCopy could accommodate custom environments such as Azure Stack. |
AZCOPY_DISABLE_HIERARCHICAL_SCAN | Applies only when Azure Blobs is the source. Concurrent scanning is faster but employs the hierarchical listing API, which can result in more IOs/cost. Specify 'true' to sacrifice performance but save on cost. |
AZCOPY_DISABLE_SYSLOG | Disables logging in Syslog or the Windows Event Logger. By default, AzCopy sends logs to these channels. You can set this variable to true if you want to reduce the noise in Syslog or the Windows Event Log. |
AZCOPY_DOWNLOAD_TO_TEMP_PATH | Configures AzCopy to download to a temp path before the actual download. Allowed values are true or false |
AZCOPY_JOB_PLAN_LOCATION | Overrides where the job plan files (used for progress tracking and resuming) are stored, to avoid filling up a disk. |
AZCOPY_LOG_LOCATION | Overrides where the log files are stored, to avoid filling up a disk. |
AZCOPY_MSI_CLIENT_ID | The client ID of a user-assigned managed identity. Use when AZCOPY_AUTO_LOGIN_TYPE is set to MSI . See Authorize without a secret store |
AZCOPY_MSI_OBJECT_ID | The object ID of the user-assigned managed identity. Use when AZCOPY_AUTO_LOGIN_TYPE is set to MSI . See Authorize without a secret store |
AZCOPY_MSI_RESOURCE_STRING | The resource ID of the user-assigned managed identity. See Authorize without a secret store |
AZCOPY_PACE_PAGE_BLOBS | Should throughput for page blobs automatically be adjusted to match Service limits? Default is true. Set to 'false' to disable |
AZCOPY_PARALLEL_STAT_FILES | Causes AzCopy to look up file properties on parallel 'threads' when scanning the local file system. The threads are drawn from the pool defined by AZCOPY_CONCURRENT_SCAN. Setting this to true may improve scanning performance on Linux. Not needed or recommended on Windows. |
AZCOPY_REQUEST_TRY_TIMEOUT | Set the number of minutes that AzCopy should try to upload files for each request before AzCopy times out. |
AZCOPY_SHOW_PERF_STATES | If set, to anything, on-screen output will include counts of chunks by state |
AZCOPY_SPA_APPLICATION_ID | The application ID of your service principal's app registration. Use when AZCOPY_AUTO_LOGIN_TYPE is set to SPN . See Authorize without a secret store |
AZCOPY_SPA_CERT_PASSWORD | The password of a certificate. Use when AZCOPY_AUTO_LOGIN_TYPE is set to SPN . See Authorize without a secret store |
AZCOPY_SPA_CERT_PATH | The relative or fully qualified path to a certificate file. Use when AZCOPY_AUTO_LOGIN_TYPE is set to SPN . See Authorize without a secret store |
AZCOPY_SPA_CLIENT_SECRET | The client secret. Use when AZCOPY_AUTO_LOGIN_TYPE is set to SPN . See Authorize without a secret store |
AZCOPY_TENANT_ID | The Microsoft Entra tenant ID to use for OAuth device interactive login. This variable is only used for auto login, please use the command line flag instead when invoking the login command. |
AZCOPY_TUNE_TO_CPU | Set to false to prevent AzCopy from taking CPU usage into account when autotuning its concurrency level (for example, in the benchmark command). |
AZCOPY_USER_AGENT_PREFIX | Add a prefix to the default AzCopy User Agent, which is used for telemetry purposes. A space is automatically inserted. |
CPK_ENCRYPTION_KEY | A Base64-encoded AES-256 encryption key value. This variable is required for both read and write requests when using Customer Provided Keys to encrypt and decrypt data on Blob storage operations. You can use Customer Provided Keys by setting the --cpk-by-value=true flag. |
CPK_ENCRYPTION_KEY_SHA256 | The Base64-encoded SHA256 of the encryption key. This variable is required for both read and write requests when using Customer Provided Keys to encrypt and decrypt data on Blob storage operations. You can use Customer Provided Keys by setting the --cpk-by-value=true flag. |
GOOGLE_APPLICATION_CREDENTIALS | The absolute path to the service account key file Provides a key to authorize with Google Cloud Storage. Copy data from Google Cloud Storage to Azure Storage by using AzCopy (preview) |
GOOGLE_CLOUD_PROJECT | Project ID required for service level traversals in Google Cloud Storage. |
HTTPS_PROXY | Configures proxy settings for AzCopy. Set this variable to the proxy IP address and proxy port number. For example, xx.xxx.xx.xxx:xx . If you run AzCopy on Windows, AzCopy automatically detects proxy settings, so you don't have to use this setting in Windows. If you choose to use this setting in Windows, it will override automatic detection. See Configure proxy settings |
To configure the proxy settings for AzCopy, set the HTTPS_PROXY
environment variable. If you run AzCopy on Windows, AzCopy automatically detects proxy settings, so you don't have to use this setting in Windows. If you choose to use this setting in Windows, it will override automatic detection.
Operating system | Command |
---|---|
Windows | In a command prompt use: set HTTPS_PROXY=<proxy IP>:<proxy port> In PowerShell use: $env:HTTPS_PROXY="<proxy IP>:<proxy port>" |
Linux | export HTTPS_PROXY=<proxy IP>:<proxy port> |
macOS | export HTTPS_PROXY=<proxy IP>:<proxy port> |
Currently, AzCopy doesn't support proxies that require authentication with NTLM or Kerberos.
If you are running AzCopy on Windows, and you want to tell it to use no proxy at all (instead of auto-detecting the settings) use these commands. With these settings, AzCopy will not look up or attempt to use any proxy.
Operating system | Environment | Commands |
---|---|---|
Windows | Command prompt (CMD) | set HTTPS_PROXY=dummy.invalid set NO_PROXY=* |
Windows | PowerShell | $env:HTTPS_PROXY="dummy.invalid" $env:NO_PROXY="*" |
On other operating systems, simply leave the HTTPS_PROXY variable unset if you want to use no proxy.