az storage blob copy
Note
This command group has commands that are defined in both Azure CLI and at least one extension. Install each extension to benefit from its extended capabilities. Learn more about extensions.
Manage blob copy operations. Use az storage blob show
to check the status of the blobs.
Commands
Name | Description | Type | Status |
---|---|---|---|
az storage blob copy cancel |
Abort an ongoing copy operation. |
Core | GA |
az storage blob copy start |
Copy a blob asynchronously. Use |
Core | GA |
az storage blob copy start (storage-blob-preview extension) |
Start a copy blob job. |
Extension | GA |
az storage blob copy start-batch |
Copy multiple blobs to a blob container. Use |
Core | GA |
az storage blob copy cancel
Abort an ongoing copy operation.
This will leave a destination blob with zero length and full metadata. This will raise an error if the copy operation has already ended.
az storage blob copy cancel --copy-id
--destination-blob
--destination-container
[--account-key]
[--account-name]
[--auth-mode {key, login}]
[--blob-endpoint]
[--connection-string]
[--lease-id]
[--sas-token]
[--timeout]
Required Parameters
The copy operation to abort. This can be either an ID string, or an instance of BlobProperties.
Name of the destination blob. If it exists, it will be overwritten.
The container name.
Optional Parameters
Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY.
Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit.
The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE.
Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show
. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT.
Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING.
Required if the destination blob has an active infinite lease.
A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN.
Request timeout in seconds. Applies to each call to the service.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az storage blob copy start
Copy a blob asynchronously. Use az storage blob show
to check the status of the blobs.
az storage blob copy start --destination-blob
--destination-container
[--account-key]
[--account-name]
[--auth-mode {key, login}]
[--blob-endpoint]
[--connection-string]
[--destination-blob-type {AppendBlob, BlockBlob, Detect, PageBlob}]
[--destination-if-match]
[--destination-if-modified-since]
[--destination-if-none-match]
[--destination-if-unmodified-since]
[--destination-lease-id]
[--destination-tags-condition]
[--metadata]
[--rehydrate-priority]
[--requires-sync {false, true}]
[--sas-token]
[--source-account-key]
[--source-account-name]
[--source-blob]
[--source-container]
[--source-if-match]
[--source-if-modified-since]
[--source-if-none-match]
[--source-if-unmodified-since]
[--source-lease-id]
[--source-path]
[--source-sas]
[--source-share]
[--source-snapshot]
[--source-tags-condition]
[--source-uri]
[--tags]
[--tier]
[--timeout]
Examples
Copy a blob asynchronously. Use `az storage blob show` to check the status of the blobs.
az storage blob copy start --account-key 00000000 --account-name MyAccount --destination-blob MyDestinationBlob --destination-container MyDestinationContainer --source-uri https://storage.blob.core.windows.net/photos
Copy a blob asynchronously. Use `az storage blob show` to check the status of the blobs.
az storage blob copy start --account-name MyAccount --destination-blob MyDestinationBlob --destination-container MyDestinationContainer --sas-token $sas --source-uri https://storage.blob.core.windows.net/photos
Copy a blob specific version
az storage blob copy start --account-name MyAccount --destination-blob MyDestinationBlob --destination-container MyDestinationContainer --source-uri https://my-account.blob.core.windows.net/my-container/my-blob?versionId=2022-03-21T18:28:44.4431011Z --auth-mode login
Required Parameters
Name of the destination blob. If it exists, it will be overwritten.
The container name.
Optional Parameters
Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY.
Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit.
The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE.
Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show
. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT.
Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING.
Defines the type of blob at the destination. Value of "Detect" determines the type based on source blob type.
An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified.
A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the destination blob has been modified since the specified date/time. If the destination blob has not been modified, the Blob service returns status code 412 (Precondition Failed).
An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist.
A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the destination blob has not been modified since the specified date/time. If the destination blob has been modified, the Blob service returns status code 412 (Precondition Failed).
The lease ID specified for this header must match the lease ID of the estination blob. If the request does not include the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed).
Specify a SQL where clause on blob tags to operate only on blobs with a matching value.
Metadata in space-separated key=value pairs. This overwrites any existing metadata.
Indicate the priority with which to rehydrate an archived blob.
Enforce that the service will not return a response until the copy is complete.
A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN.
The storage account key of the source blob.
The storage account name of the source blob.
The blob name for the source storage account.
The container name for the source storage account.
An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified.
A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the source blob has been modified since the specified date/time.
An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist.
A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the source blob has not been modified since the specified date/time.
Specify this to perform the Copy Blob operation only if the lease ID given matches the active lease ID of the source blob.
The file path for the source storage account.
The shared access signature for the source storage account.
The share name for the source storage account.
The blob snapshot for the source storage account.
Specify a SQL where clause on blob tags to operate only on blobs with a matching value.
A URL of up to 2 KB in length that specifies an Azure file or blob. The value should be URL-encoded as it would appear in a request URI. If the source is in another account, the source must either be public or must be authenticated via a shared access signature. If the source is public, no authentication is required. Examples: https://myaccount.blob.core.windows.net/mycontainer/myblob
, https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>
, https://otheraccount.blob.core.windows.net/mycontainer/myblob?sastoken
.
Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags.
The tier value to set the blob to. For page blob, the tier correlates to the size of the blob and number of allowed IOPS. Possible values are P10, P15, P20, P30, P4, P40, P50, P6, P60, P70, P80 and this is only applicable to page blobs on premium storage accounts; For block blob, possible values are Archive, Cold, Cool, and Hot. This is only applicable to block blobs on standard storage accounts.
Request timeout in seconds. Applies to each call to the service.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az storage blob copy start (storage-blob-preview extension)
Start a copy blob job.
az storage blob copy start --destination-blob
--destination-container
[--account-key]
[--account-name]
[--auth-mode {key, login}]
[--blob-endpoint]
[--connection-string]
[--destination-blob-type {AppendBlob, BlockBlob, Detect, PageBlob}]
[--destination-if-match]
[--destination-if-modified-since]
[--destination-if-none-match]
[--destination-if-unmodified-since]
[--destination-lease-id]
[--destination-tags-condition]
[--metadata]
[--rehydrate-priority]
[--requires-sync {false, true}]
[--sas-token]
[--source-account-key]
[--source-account-name]
[--source-blob]
[--source-container]
[--source-if-match]
[--source-if-modified-since]
[--source-if-none-match]
[--source-if-unmodified-since]
[--source-lease-id]
[--source-path]
[--source-sas]
[--source-share]
[--source-snapshot]
[--source-tags-condition]
[--source-uri]
[--tags]
[--tier]
[--timeout]
Examples
Copy a blob asynchronously. Use `az storage blob show` to check the status of the blobs.
az storage blob copy start --account-key 00000000 --account-name MyAccount --destination-blob MyDestinationBlob --destination-container MyDestinationContainer --source-uri https://storage.blob.core.windows.net/photos
Copy a blob asynchronously. Use `az storage blob show` to check the status of the blobs.
az storage blob copy start --account-name MyAccount --destination-blob MyDestinationBlob --destination-container MyDestinationContainer --sas-token $sas --source-uri https://storage.blob.core.windows.net/photos
Required Parameters
Name of the destination blob. If it exists, it will be overwritten.
The container name.
Optional Parameters
Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY.
Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit.
The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE.
Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show
. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT.
Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING.
Defines the type of blob at the destination. Value of "Detect" determines the type based on source blob type.
An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified.
A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the destination blob has been modified since the specified date/time. If the destination blob has not been modified, the Blob service returns status code 412 (Precondition Failed).
An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist.
A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the destination blob has not been modified since the specified date/time. If the destination blob has been modified, the Blob service returns status code 412 (Precondition Failed).
The lease ID specified for this header must match the lease ID of the estination blob. If the request does not include the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed).
Specify a SQL where clause on blob tags to operate only on blobs with a matching value.
Metadata in space-separated key=value pairs. This overwrites any existing metadata.
Indicate the priority with which to rehydrate an archived blob.
Enforce that the service will not return a response until the copy is complete.
A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN.
The storage account key of the source blob.
The storage account name of the source blob.
The blob name for the source storage account.
The container name for the source storage account.
An ETag value, or the wildcard character (*). Specify this header to perform the operation only if the resource's ETag matches the value specified.
A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the source blob has been modified since the specified date/time.
An ETag value, or the wildcard character (). Specify this header to perform the operation only if the resource's ETag does not match the value specified. Specify the wildcard character () to perform the operation only if the resource does not exist, and fail the operation if it does exist.
A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this conditional header to copy the blob only if the source blob has not been modified since the specified date/time.
Specify this to perform the Copy Blob operation only if the lease ID given matches the active lease ID of the source blob.
The file path for the source storage account.
The shared access signature for the source storage account.
The share name for the source storage account.
The blob snapshot for the source storage account.
Specify a SQL where clause on blob tags to operate only on blobs with a matching value.
A URL of up to 2 KB in length that specifies an Azure file or blob. The value should be URL-encoded as it would appear in a request URI. If the source is in another account, the source must either be public or must be authenticated via a shared access signature. If the source is public, no authentication is required. Examples: https://myaccount.blob.core.windows.net/mycontainer/myblob
, https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>
, https://otheraccount.blob.core.windows.net/mycontainer/myblob?sastoken
.
Space-separated tags: key[=value] [key[=value] ...]. Tags are case-sensitive. The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, and tag values must be between 0 and 256 characters. Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), space (
), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_).
The tier value to set the blob to. For page blob, the tier correlates to the size of the blob and number of allowed IOPS. Possible values are P10, P15, P20, P30, P4, P40, P50, P6, P60, P70, P80 and this is only applicable to page blobs on premium storage accounts; For block blob, possible values are Archive, Cold, Cool and Hot. This is only applicable to block blobs on standard storage accounts.
Request timeout in seconds. Applies to each call to the service.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az storage blob copy start-batch
Copy multiple blobs to a blob container. Use az storage blob show
to check the status of the blobs.
az storage blob copy start-batch [--account-key]
[--account-name]
[--auth-mode {key, login}]
[--blob-endpoint]
[--connection-string]
[--destination-blob-type {AppendBlob, BlockBlob, Detect, PageBlob}]
[--destination-container]
[--destination-path]
[--dryrun]
[--pattern]
[--rehydrate-priority]
[--sas-token]
[--source-account-key]
[--source-account-name]
[--source-container]
[--source-sas]
[--source-share]
[--source-uri]
[--tier]
Examples
Copy multiple blobs to a blob container. Use `az storage blob show` to check the status of the blobs. (autogenerated)
az storage blob copy start-batch --account-key 00000000 --account-name MyAccount --destination-container MyDestinationContainer --source-account-key MySourceKey --source-account-name MySourceAccount --source-container MySourceContainer
Optional Parameters
Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY.
Storage account name. Related environment variable: AZURE_STORAGE_ACCOUNT. Must be used in conjunction with either storage account key or a SAS token. If neither are present, the command will try to query the storage account key using the authenticated Azure account. If a large number of storage commands are executed the API quota may be hit.
The mode in which to run the command. "login" mode will directly use your login credentials for the authentication. The legacy "key" mode will attempt to query for an account key if no authentication parameters for the account are provided. Environment variable: AZURE_STORAGE_AUTH_MODE.
Storage data service endpoint. Must be used in conjunction with either storage account key or a SAS token. You can find each service primary endpoint with az storage account show
. Environment variable: AZURE_STORAGE_SERVICE_ENDPOINT.
Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING.
Defines the type of blob at the destination. Value of "Detect" determines the type based on source blob type.
The blob container where the selected source files or blobs will be copied to.
The destination path that will be prepended to the blob name.
List the files or blobs to be uploaded. No actual data transfer will occur.
The pattern used for globbing files or blobs in the source. The supported patterns are '*', '?', '[seq]', and '[!seq]'. For more information, please refer to https://docs.python.org/3.7/library/fnmatch.html.
When you use '*' in --pattern, it will match any character including the the directory separator '/'.
Indicate the priority with which to rehydrate an archived blob.
A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN.
The account key for the source storage account.
The source storage account from which the files or blobs are copied to the destination. If omitted, the destination account is used.
The source container from which blobs are copied.
The shared access signature for the source storage account.
The source share from which files are copied.
A URI specifying a file share or blob container from which the files or blobs are copied.
If the source is in another account, the source must either be public or be authenticated by using a shared access signature.
The tier value to set the blob to. For page blob, the tier correlates to the size of the blob and number of allowed IOPS. Possible values are P10, P15, P20, P30, P4, P40, P50, P6, P60, P70, P80 and this is only applicable to page blobs on premium storage accounts; For block blob, possible values are Archive, Cold, Cool, and Hot. This is only applicable to block blobs on standard storage accounts.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
Azure CLI