Share via


az storage file 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 file copy operations.

Commands

Name Description Type Status
az storage file copy cancel

Abort an ongoing copy operation.

Core GA
az storage file copy cancel (storage-preview extension)

Abort an ongoing copy operation.

Extension GA
az storage file copy start

Copy a file asynchronously.

Core GA
az storage file copy start (storage-preview extension)

Copy a file asynchronously.

Extension GA
az storage file copy start-batch

Copy multiple files or blobs to a file share.

Core GA
az storage file copy start-batch (storage-preview extension)

Copy multiple files or blobs to a file share.

Extension GA

az storage file copy cancel

Abort an ongoing copy operation.

This will leave a destination file with zero length and full metadata. This will raise an error if the copy operation has already ended.

az storage file copy cancel --copy-id
                            --destination-path
                            --destination-share
                            [--account-key]
                            [--account-name]
                            [--auth-mode {key, login}]
                            [--backup-intent]
                            [--connection-string]
                            [--disallow-trailing-dot {false, true}]
                            [--file-endpoint]
                            [--sas-token]
                            [--timeout]

Required Parameters

--copy-id

The copy operation to abort. This can be either an ID, or an instance of FileProperties.

--destination-path -p

The path to the file within the file share.

--destination-share -s

Name of the destination share. The share must exist.

Optional Parameters

--account-key

Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY.

--account-name

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.

--auth-mode

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.

Accepted values: key, login
--backup-intent --enable-file-backup-request-intent

Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories.

Default value: False
--connection-string

Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING.

--disallow-trailing-dot

If true, the trailing dot will be trimmed from the target URI. Default to False.

Accepted values: false, true
Default value: False
--file-endpoint

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.

--sas-token

A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN.

--timeout

Request timeout in seconds. Applies to each call to the service.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az storage file copy cancel (storage-preview extension)

Abort an ongoing copy operation.

This will leave a destination file with zero length and full metadata. This will raise an error if the copy operation has already ended.

az storage file copy cancel --copy-id
                            --destination-path
                            --destination-share
                            [--account-key]
                            [--account-name]
                            [--auth-mode {key, login}]
                            [--backup-intent]
                            [--connection-string]
                            [--disallow-trailing-dot {false, true}]
                            [--sas-token]
                            [--timeout]

Required Parameters

--copy-id

The copy operation to abort. This can be either an ID, or an instance of FileProperties.

--destination-path -p

The path to the file within the file share.

--destination-share -s

Name of the destination share. The share must exist.

Optional Parameters

--account-key

Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY.

--account-name

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.

--auth-mode

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.

Accepted values: key, login
--backup-intent --enable-file-backup-request-intent

Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories.

Default value: False
--connection-string

Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING.

--disallow-trailing-dot

If true, the trailing dot will be trimmed from the target URI. Default to False.

Accepted values: false, true
Default value: False
--sas-token

A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN.

--timeout

Request timeout in seconds. Applies to each call to the service.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az storage file copy start

Copy a file asynchronously.

az storage file copy start --destination-path
                           --destination-share
                           [--account-key]
                           [--account-name]
                           [--auth-mode {key, login}]
                           [--backup-intent]
                           [--connection-string]
                           [--disallow-source-trailing-dot {false, true}]
                           [--disallow-trailing-dot {false, true}]
                           [--file-endpoint]
                           [--file-snapshot]
                           [--metadata]
                           [--sas-token]
                           [--source-account-key]
                           [--source-account-name]
                           [--source-blob]
                           [--source-container]
                           [--source-path]
                           [--source-sas]
                           [--source-share]
                           [--source-snapshot]
                           [--source-uri]
                           [--timeout]

Examples

Copy a file asynchronously.

az storage file copy start --source-account-name srcaccount --source-account-key 00000000 --source-path <srcpath-to-file> --source-share srcshare --destination-path <destpath-to-file> --destination-share destshare --account-name destaccount --account-key 00000000

Copy a file asynchronously from source uri to destination storage account with sas token.

az storage file copy start --source-uri "https://srcaccount.file.core.windows.net/myshare/mydir/myfile?<sastoken>" --destination-path <destpath-to-file> --destination-share destshare --account-name destaccount --sas-token <destination-sas>

Copy a file asynchronously from file snapshot to destination storage account with sas token.

az storage file copy start --source-account-name srcaccount --source-account-key 00000000 --source-path <srcpath-to-file> --source-share srcshare --file-snapshot "2020-03-02T13:51:54.0000000Z" --destination-path <destpath-to-file> --destination-share destshare --account-name destaccount --sas-token <destination-sas>

Required Parameters

--destination-path -p

The path to the file within the file share.

--destination-share -s

Name of the destination share. The share must exist.

Optional Parameters

--account-key

Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY.

--account-name

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.

--auth-mode

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.

Accepted values: key, login
--backup-intent --enable-file-backup-request-intent

Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories.

Default value: False
--connection-string

Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING.

--disallow-source-trailing-dot --disallow-src-trailing

If true, the trailing dot will be trimmed from the source URI. Default to False.

Accepted values: false, true
Default value: False
--disallow-trailing-dot

If true, the trailing dot will be trimmed from the target URI. Default to False.

Accepted values: false, true
Default value: False
--file-endpoint

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.

--file-snapshot

The file snapshot for the source storage account.

--metadata

Metadata in space-separated key=value pairs. This overwrites any existing metadata.

--sas-token

A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN.

--source-account-key

The storage account key of the source blob.

--source-account-name

The storage account name of the source blob.

--source-blob

The blob name for the source storage account.

--source-container

The container name for the source storage account.

--source-path

The file path for the source storage account.

--source-sas

The shared access signature for the source storage account.

--source-share

The share name for the source storage account.

--source-snapshot

The blob snapshot for the source storage account.

--source-uri -u

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.file.core.windows.net/myshare/mydir/myfile https://otheraccount.file.core.windows.net/myshare/mydir/myfile?sastoken.

--timeout

Request timeout in seconds. Applies to each call to the service.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az storage file copy start (storage-preview extension)

Copy a file asynchronously.

az storage file copy start --destination-path
                           --destination-share
                           [--account-key]
                           [--account-name]
                           [--auth-mode {key, login}]
                           [--backup-intent]
                           [--connection-string]
                           [--disallow-source-trailing-dot {false, true}]
                           [--disallow-trailing-dot {false, true}]
                           [--file-snapshot]
                           [--metadata]
                           [--sas-token]
                           [--source-account-key]
                           [--source-account-name]
                           [--source-blob]
                           [--source-container]
                           [--source-path]
                           [--source-sas]
                           [--source-share]
                           [--source-snapshot]
                           [--source-uri]
                           [--timeout]

Examples

Copy a file asynchronously.

az storage file copy start --source-account-name srcaccount --source-account-key 00000000 --source-path <srcpath-to-file> --source-share srcshare --destination-path <destpath-to-file> --destination-share destshare --account-name destaccount --account-key 00000000

Copy a file asynchronously from source uri to destination storage account with sas token.

az storage file copy start --source-uri "https://srcaccount.file.core.windows.net/myshare/mydir/myfile?<sastoken>" --destination-path <destpath-to-file> --destination-share destshare --account-name destaccount --sas-token <destination-sas>

Copy a file asynchronously from file snapshot to destination storage account with sas token.

az storage file copy start --source-account-name srcaccount --source-account-key 00000000 --source-path <srcpath-to-file> --source-share srcshare --file-snapshot "2020-03-02T13:51:54.0000000Z" --destination-path <destpath-to-file> --destination-share destshare --account-name destaccount --sas-token <destination-sas>

Required Parameters

--destination-path -p

The path to the file within the file share.

--destination-share -s

Name of the destination share. The share must exist.

Optional Parameters

--account-key

Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY.

--account-name

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.

--auth-mode

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.

Accepted values: key, login
--backup-intent --enable-file-backup-request-intent

Required parameter to use with OAuth (Azure AD) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories.

Default value: False
--connection-string

Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING.

--disallow-source-trailing-dot --disallow-src-trailing

If true, the trailing dot will be trimmed from the source URI. Default to False.

Accepted values: false, true
Default value: False
--disallow-trailing-dot

If true, the trailing dot will be trimmed from the target URI. Default to False.

Accepted values: false, true
Default value: False
--file-snapshot

The file snapshot for the source storage account.

--metadata

Metadata in space-separated key=value pairs. This overwrites any existing metadata.

--sas-token

A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN.

--source-account-key

The storage account key of the source blob.

--source-account-name

The storage account name of the source blob.

--source-blob

The blob name for the source storage account.

--source-container

The container name for the source storage account.

--source-path

The file path for the source storage account.

--source-sas

The shared access signature for the source storage account.

--source-share

The share name for the source storage account.

--source-snapshot

The blob snapshot for the source storage account.

--source-uri -u

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.file.core.windows.net/myshare/mydir/myfile https://otheraccount.file.core.windows.net/myshare/mydir/myfile?sastoken.

--timeout

Request timeout in seconds. Applies to each call to the service.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az storage file copy start-batch

Copy multiple files or blobs to a file share.

az storage file copy start-batch [--account-key]
                                 [--account-name]
                                 [--connection-string]
                                 [--destination-path]
                                 [--destination-share]
                                 [--disallow-source-trailing-dot {false, true}]
                                 [--disallow-trailing-dot {false, true}]
                                 [--dryrun]
                                 [--file-endpoint]
                                 [--metadata]
                                 [--pattern]
                                 [--sas-token]
                                 [--source-account-key]
                                 [--source-account-name]
                                 [--source-container]
                                 [--source-sas]
                                 [--source-share]
                                 [--source-uri]
                                 [--timeout]

Examples

Copy all files in a file share to another storage account.

az storage file copy start-batch --source-account-name srcaccount --source-account-key 00000000 --source-share srcshare --destination-path <destpath-to-directory> --destination-share destshare --account-name destaccount --account-key 00000000

Copy all files in a file share to another storage account. with sas token.

az storage file copy start-batch --source-uri "https://srcaccount.file.core.windows.net/myshare?<sastoken>" --destination-path <destpath-to-directory> --destination-share destshare --account-name destaccount --sas-token <destination-sas>

Optional Parameters

--account-key

Storage account key. Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_KEY.

--account-name

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.

--connection-string

Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING.

--destination-path

The directory where the source data is copied to. If omitted, data is copied to the root directory.

--destination-share

The file share where the source data is copied to.

--disallow-source-trailing-dot --disallow-src-trailing

If true, the trailing dot will be trimmed from the source URI. Default to False.

Accepted values: false, true
Default value: False
--disallow-trailing-dot

If true, the trailing dot will be trimmed from the target URI. Default to False.

Accepted values: false, true
Default value: False
--dryrun

List the files and blobs to be copied. No actual data transfer will occur.

Default value: False
--file-endpoint

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.

--metadata

Metadata in space-separated key=value pairs. This overwrites any existing metadata.

--pattern

The pattern used for globbing files and blobs. 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 '/'.

--sas-token

A Shared Access Signature (SAS). Must be used in conjunction with storage account name or service endpoint. Environment variable: AZURE_STORAGE_SAS_TOKEN.

--source-account-key

The account key for the source storage account. If omitted, the active login is used to determine the account key.

--source-account-name

The source storage account to copy the data from. If omitted, the destination account is used.

--source-container

The source container blobs are copied from.

--source-sas

The shared access signature for the source storage account.

--source-share

The source share files are copied from.

--source-uri

A URI that specifies a the source file share or blob container.

If the source is in another account, the source must either be public or authenticated via a shared access signature.

--timeout

Request timeout in seconds. Applies to each call to the service.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az storage file copy start-batch (storage-preview extension)

Copy multiple files or blobs to a file share.

az storage file copy start-batch [--account-key]
                                 [--account-name]
                                 [--connection-string]
                                 [--destination-path]
                                 [--destination-share]
                                 [--disallow-source-trailing-dot {false, true}]
                                 [--disallow-trailing-dot {false, true}]
                                 [--dryrun]
                                 [--metadata]
                                 [--pattern]
                                 [--sas-token]
                                 [--source-account-key]
                                 [--source-account-name]
                                 [--source-container]
                                 [--source-sas]
                                 [--source-share]
                                 [--source-uri]
                                 [--timeout]

Examples

Copy all files in a file share to another storage account.

az storage file copy start-batch --source-account-name srcaccount --source-account-key 00000000 --source-share srcshare --destination-path <destpath-to-directory> --destination-share destshare --account-name destaccount --account-key 00000000

Copy all files in a file share to another storage account. with sas token.

az storage file copy start-batch --source-uri "https://srcaccount.file.core.windows.net/myshare?<sastoken>" --destination-path <destpath-to-directory> --destination-share destshare --account-name destaccount --sas-token <destination-sas>

Optional Parameters

--account-key

Storage account key. Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_KEY.

--account-name

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.

--connection-string

Storage account connection string. Environment variable: AZURE_STORAGE_CONNECTION_STRING.

--destination-path

The directory where the source data is copied to. If omitted, data is copied to the root directory.

--destination-share

The file share where the source data is copied to.

--disallow-source-trailing-dot --disallow-src-trailing

If true, the trailing dot will be trimmed from the source URI. Default to False.

Accepted values: false, true
Default value: False
--disallow-trailing-dot

If true, the trailing dot will be trimmed from the target URI. Default to False.

Accepted values: false, true
Default value: False
--dryrun

List the files and blobs to be copied. No actual data transfer will occur.

Default value: False
--metadata

Metadata in space-separated key=value pairs. This overwrites any existing metadata.

--pattern

The pattern used for globbing files and blobs. 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 '/'.

--sas-token

A Shared Access Signature (SAS). Must be used in conjunction with storage account name. Environment variable: AZURE_STORAGE_SAS_TOKEN.

--source-account-key

The account key for the source storage account. If omitted, the active login is used to determine the account key.

--source-account-name

The source storage account to copy the data from. If omitted, the destination account is used.

--source-container

The source container blobs are copied from.

--source-sas

The shared access signature for the source storage account.

--source-share

The source share files are copied from.

--source-uri

A URI that specifies a the source file share or blob container.

If the source is in another account, the source must either be public or authenticated via a shared access signature.

--timeout

Request timeout in seconds. Applies to each call to the service.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.