Перенос данных с помощью AzCopy и хранилища файлов

AzCopy — это служебная программа командной строки, которую можно использовать для копирования файлов в учетную запись хранения или из нее. Эта статья содержит примеры команд, которые работают со службой "Файлы Azure".

Начать

Ознакомьтесь со статьей Начало работы с AzCopy, чтобы получить сведения о том, как скачать AzCopy, а также о способах предоставления учетных данных авторизации в службе хранилища.

Примечание.

В примерах этой статьи показано использование маркера SAS для авторизации доступа. Однако для команд, предназначенных для файлов и каталогов, теперь можно предоставить учетные данные авторизации с помощью идентификатора Microsoft Entra и опустить маркер SAS из этих команд. Вы по-прежнему должны использовать маркер SAS в любой команде, которая предназначена только для общей папки или учетной записи (например, 'azcopy make https://mystorageaccount.file.core.windows.net/myfileshare' или 'azcopy copy 'https://mystorageaccount.file.core.windows.net'.

Дополнительные сведения см. в статье "Авторизация AzCopy".

Создание общих папок

Для создания общей папки можно использовать команду azcopy make. В примере из этого раздела создается общая папка myfileshare.

Совет

В этом примере аргументы пути заключены в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").

Синтаксис

azcopy make 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>'

Пример

azcopy make 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D'

Подробную справочную документацию можно найти в описании azcopy make.

Отправить файлы

Для отправки файлов и каталогов с локального компьютера можно использовать команду azcopy copy.

Совет

В примерах этого раздела аргументы пути заключаются в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").

Этот раздел содержит следующие примеры.

  • Отправка файла
  • Отправка каталога
  • Отправка содержимого каталога
  • Отправка определенного файла

Совет

Вы можете модифицировать операцию отправки с помощью дополнительных флагов. Вот несколько примеров.

Сценарий Флаг
Скопируйте списки управления доступом (ACL) вместе с файлами. --preserve-smb-permissions=[true|false]
Скопируйте сведения о свойстве SMB вместе с файлами. --preserve-smb-info=[true|false]

Полный список примеров см. в разделе Параметры.

Примечание.

AzCopy не вычисляет и не сохраняет хэш-код файла md5 для файла, превышающего 256 МБ. Если вы хотите, чтобы AzCopy это сделать, добавьте флаг в каждую --put-md5 команду копирования. Таким образом, при скачивании файла AzCopy вычисляет хэш MD5 для загруженных данных и проверяет соответствие хэша MD5, сохраненного в свойстве Content-md5 файла вычисленному хэшу.

Отправка файла

Синтаксис

azcopy copy '<local-file-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-name>'

Пример

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' --preserve-smb-permissions=true --preserve-smb-info=true

Кроме того, файл можно загрузить, используя подстановочный знак (*) в любом месте пути к файлу или имени файла. Например, 'C:\myDirectory\*.txt' или C:\my*\*.txt.

Отправка каталога

В этом примере каталог (и все файлы в этом каталоге) копируется в общую папку. В результате каталог будет находиться в общей папке с тем же именем.

Синтаксис

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Пример

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Чтобы выполнить копирование в каталог в общей папке, просто укажите имя этого каталога в командной строке.

Пример

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Если указать имя каталога, который не существует в общей папке, AzCopy создает новый каталог по имени.

Отправка содержимого каталога

Вы можете отправить содержимое каталога, не копируя сам каталог, с помощью подстановочного знака (*).

Синтаксис

azcopy copy '<local-directory-path>/*' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>'

Пример

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' --preserve-smb-permissions=true --preserve-smb-info=true

Примечание.

Добавьте флаг --recursive, чтобы отправить файлы во все подкаталоги.

Отправка определенных файлов

Вы можете отправлять определенные файлы с помощью полных имен файлов, частичных имен с подстановочными знаками (*) или с помощью дат и времени.

Указание нескольких полных имен файлов

Выполните команду azcopy сopy, используя параметр --include-path. Разделите имена файлов точкой с запятой (;).

Синтаксис

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' --include-path <semicolon-separated-file-list>

Пример

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --include-path 'photos;documents\myFile.txt' --preserve-smb-permissions=true --preserve-smb-info=true

В этом примере AzCopy передает каталог C:\myDirectory\photos и файл C:\myDirectory\documents\myFile.txt. Необходимо включить параметр --recursive для перемещения всех файлов в каталог C:\myDirectory\photos.

Кроме того, файлы можно исключить с помощью параметра --exclude-path. Дополнительные сведения см. в справочных документах по azcopy сopy.

Использование подстановочных знаков

Выполните команду azcopy сopy, используя параметр --include-pattern. Укажите частичные имена, которые содержат подстановочные знаки. Разделяйте имена точкой с запятой (;).

Синтаксис

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Пример

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --include-pattern 'myFile*.txt;*.pdf*' --preserve-smb-permissions=true --preserve-smb-info=true

Кроме того, файлы можно исключить с помощью параметра --exclude-pattern. Дополнительные сведения см. в справочных документах по azcopy сopy.

Параметры --include-pattern и --exclude-pattern применяются только к именам файлов, а не к пути. Если необходимо скопировать все текстовые файлы, существующие в дереве каталогов, используйте параметр--recursive для получения всего дерева каталогов, а затем — параметр --include-pattern и укажите,*.txt, чтобы получить все текстовые файлы.

Отправка файлов, которые были изменены после определенных даты и времени

Выполните команду azcopy сopy, используя параметр --include-after. Укажите дату и время в формате ISO-8601 (например: 2020-08-19T15:04:00Z).

Синтаксис

azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' --include-after <Date-Time-in-ISO-8601-format>

Пример

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --include-after '2020-08-19T15:04:00Z' --preserve-smb-permissions=true --preserve-smb-info=true

Подробные сведения см. в справочной документации по azcopy сopy.

Загрузка файлов

Для загрузки файлов, каталогов и общих папок на локальный компьютер можно использовать команду azcopy copy.

Совет

В примерах этого раздела аргументы пути заключаются в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").

Этот раздел содержит следующие примеры.

  • Скачивание файла
  • Загрузка каталога
  • Загрузка содержимого каталога
  • Загрузка определенных файлов

Совет

Вы можете модифицировать операцию загрузки с помощью дополнительных флагов. Вот несколько таких случаев.

Сценарий Флаг
Скопируйте списки управления доступом (ACL) вместе с файлами. --preserve-smb-permissions=[true|false]
Скопируйте сведения о свойстве SMB вместе с файлами. --preserve-smb-info=[true|false]
Автоматическое распаковка файлов. --decompress

Полный список примеров см. в разделе Параметры.

Примечание.

Если значение свойства Content-md5 файла содержит хэш, AzCopy вычисляет хэш MD5 для скачанных данных и проверяет, соответствует ли хэш MD5, хранящийся в свойстве файла Content-md5, соответствующему вычисляемому хэшу. Если эти значения не совпадают, загрузка завершается ошибкой. Чтобы этого избежать, переопределите это поведение путем добавления --check-md5=NoCheck или --check-md5=LogOnly к команде copy.

Скачивание файла

Синтаксис

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>' '<local-file-path>'

Пример

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' 'C:\myDirectory\myTextFile.txt' --preserve-smb-permissions=true --preserve-smb-info=true

Загрузка каталога

Синтаксис

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>' '<local-directory-path>' --recursive

Пример

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' 'C:\myDirectory'  --recursive --preserve-smb-permissions=true --preserve-smb-info=true

В этом примере создается каталог C:\myDirectory\myFileShareDirectory, содержащий все загруженные файлы.

Загрузка содержимого каталога

Вы можете скачать содержимое каталога, не копируя сам каталог, с помощью подстановочного знака (*).

Синтаксис

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/*<SAS-token>' '<local-directory-path>/'

Пример

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory/*?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D' 'C:\myDirectory' --preserve-smb-permissions=true --preserve-smb-info=true

Примечание.

Добавьте флаг --recursive, чтобы загрузить файлы во все подкаталоги.

Загрузка определенных файлов

Вы можете загружать определенные файлы с помощью полных имен файлов, частичных имен с подстановочными знаками (*) или с помощью дат и времени.

Указание нескольких полных имен файлов

Выполните команду azcopy сopy, используя параметр --include-path. Разделите имена файлов точкой с запятой (;).

Синтаксис

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' '<local-directory-path>' --include-path <semicolon-separated-file-list>

Пример

azcopy copy 'https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory'  --include-path 'photos;documents\myFile.txt' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

В этом примере AzCopy передает каталог https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos и файл https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/documents/myFile.txt. Включите параметр --recursive для перемещения всех файлов в каталог https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos.

Кроме того, файлы можно исключить с помощью параметра --exclude-path. Дополнительные сведения см. в справочных документах по azcopy сopy.

Использование подстановочных знаков

Выполните команду azcopy сopy, используя параметр --include-pattern. Укажите частичные имена, которые содержат подстановочные знаки. Разделяйте имена точкой с запятой (;).

Синтаксис

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Пример

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory'  --include-pattern 'myFile*.txt;*.pdf*' --preserve-smb-permissions=true --preserve-smb-info=true

Кроме того, файлы можно исключить с помощью параметра --exclude-pattern. Дополнительные сведения см. в справочных документах по azcopy сopy.

Параметры --include-pattern и --exclude-pattern применяются только к именам файлов, а не к пути. Если необходимо скопировать все текстовые файлы, существующие в дереве каталогов, используйте параметр--recursive для получения всего дерева каталогов, а затем — параметр --include-pattern и укажите,*.txt, чтобы получить все текстовые файлы.

Загрузка файлов, которые были изменены после определенных даты и времени

Выполните команду azcopy сopy, используя параметр --include-after. Укажите дату и время в формате ISO-8601 (например: 2020-08-19T15:04:00Z).

Синтаксис

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name>/*<SAS-token>' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>

Пример

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/*?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z' --preserve-smb-permissions=true --preserve-smb-info=true

Подробные сведения см. в справочной документации по azcopy сopy.

Загрузка из моментального снимка общей папки

Вы можете загрузить определенную версию файла или каталога, сославшись на значение DateTime моментального снимка общей папки. Дополнительные сведения о моментальных снимках общих папок см. в статье Общие сведения о моментальных снимках общих папок для службы файлов Azure.

Синтаксис

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-path-or-directory-name><SAS-token>&sharesnapshot=<DateTime-of-snapshot>' '<local-file-or-directory-path>'

Пример (загрузка файла)

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt' --preserve-smb-permissions=true --preserve-smb-info=true

Пример (загрузка каталога)

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory'  --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Копирование файлов между учетными записями хранения

Используйте AzCopy для копирования файлов в другие учетные записи хранения. Операция копирования синхронна, поэтому все файлы копируются при возврате команды.

AzCopy использует API типа сервер-сервер, поэтому данные копируются непосредственно между серверами хранилища. Пропускную способность этих операций можно увеличить, задав значение переменной среды AZCOPY_CONCURRENCY_VALUE. Узнать больше можно из статьи Увеличение степени параллелизма.

Кроме того, можно скопировать определенные версии файла, ссылаясь на значение DateTime моментального снимка общего ресурса. Дополнительные сведения о моментальных снимках общих папок см. в статье Общие сведения о моментальных снимках общих папок для службы файлов Azure.

Совет

В примерах этого раздела аргументы пути заключаются в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").

Этот раздел содержит следующие примеры.

  • Копирование файла в другую учетную запись хранения
  • Копирование каталога в другую учетную запись хранения
  • Копирование общей папки в другую учетную запись хранения
  • Копирование всех общих папок, каталогов и файлов в другую учетную запись хранения

Совет

Вы можете модифицировать операцию копирования с помощью дополнительных флагов. Вот несколько примеров.

Сценарий Флаг
Скопируйте списки управления доступом (ACL) вместе с файлами. --preserve-smb-permissions=[true|false]
Скопируйте сведения о свойстве SMB вместе с файлами. --preserve-smb-info=[true|false]

Полный список примеров см. в разделе Параметры.

Копирование файла в другую учетную запись хранения

Синтаксис

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>'

Пример

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --preserve-smb-permissions=true --preserve-smb-info=true

Пример (моментальный снимок общей папки)

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --preserve-smb-permissions=true --preserve-smb-info=true

Копирование каталога в другую учетную запись хранения

Синтаксис

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Пример

azcopy copy 'https://mysourceaccount.file.core.windows.net/myFileShare/myFileDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Пример (моментальный снимок общей папки)

azcopy copy 'https://mysourceaccount.file.core.windows.net/myFileShare/myFileDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Копирование общей папки в другую учетную запись хранения

Синтаксис

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Пример

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D --preserve-smb-permissions=true --preserve-smb-info=true

Пример (моментальный снимок общей папки)

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Копирование всех общих папок, каталогов и файлов в другую учетную запись хранения

Синтаксис

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<SAS-token>' --recursive'

Пример

azcopy copy 'https://mysourceaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Пример (моментальный снимок общей папки)

azcopy copy 'https://mysourceaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Синхронизация файлов

Можно синхронизировать содержимое локальной файловой системы с общей папкой или синхронизировать содержимое файлового ресурса с другой общей папкой. Кроме того, можно синхронизировать содержимое каталога в общей папке с содержимым каталога, расположенного в другой общей папке. Синхронизация имеет односторонний характер. Другими словами, вы выбираете, какая из этих двух конечных точек будет источником, а какая — назначением. В синхронизации также используются API сервер-сервер.

Примечание.

В настоящее время этот сценарий поддерживается для учетных записей, которые включили иерархическое пространство имен через конечную точку BLOB-объекта.

Предупреждение

Синхронизация AzCopy поддерживается в Файлах Azure, но выполнять ее не рекомендуется. AzCopy не поддерживает разностные копии в масштабе, из-за чего может пострадать точность файла. Дополнительные сведения см. в разделе Миграция в общие папки Azure.

Рекомендации

По умолчанию команда синхронизации сравнивает имена файлов и метки времени последнего изменения. Это поведение можно переопределить для использования хэшей MD5 вместо последних измененных меток времени с помощью флага --compare-hash . Установите для дополнительного флага --delete-destination значение true или prompt, чтобы удалить файлы в целевом каталоге, если эти файлы больше не существуют в исходном каталоге.

  • Если установить для флага --delete-destination значение true, AzCopy удаляет файлы без подтверждения. Если требуется подтверждение перед тем, как AzCopy удалит файл, установите для флага --delete-destination значение prompt.

  • Если вы планируете задать для флага --delete-destination значение prompt или false, попробуйте использовать команду copy вместо команды sync и присвойте параметру --overwrite значение ifSourceNewer. Команда copy потребляет меньше памяти и связана с меньшими затратами, поскольку операция копирования не должна индексировать источник или назначение перед перемещением файлов.

  • Если вы не планируете использовать --compare-hash флаг, компьютер, на котором выполняется команда синхронизации, должен иметь точные системные часы, так как время последнего изменения критически важно для определения необходимости передачи файла. Если системные часы рассинхронизированы, не следует изменять файлы в месте назначения слишком близко к тому времени, когда планируется выполнять команду sync.

  • AzCopy использует API-интерфейсы "сервер — сервер" для синхронизации данных между учетными записями хранения. Это означает, что данные копируются непосредственно между серверами хранения. Однако AzCopy настраивает и отслеживает каждую передачу, а для больших учетных записей хранения (например, учетных записей, содержащих миллионы больших двоичных объектов), AzCopy может потребовать значительного объема вычислительных ресурсов для выполнения этих задач. Поэтому при запуске AzCopy из виртуальной машины убедитесь, что виртуальная машина имеет достаточно ядер или памяти для обработки нагрузки.

Совет

Вы можете настроить операцию синхронизации с помощью дополнительных флагов. Вот несколько примеров.

Сценарий Флаг
Скопируйте списки управления доступом (ACL) вместе с файлами. --preserve-smb-permissions=[true|false]
Скопируйте сведения о свойстве SMB вместе с файлами. --preserve-smb-info=[true|false]
Исключите файлы на основе шаблона. --exclude-path
Укажите, насколько подробными должны быть записи журнала, связанные с синхронизацией. --log-level=[WARNING|ERROR|INFO|NONE]

Полный список примеров см. в разделе Параметры.

В примерах этого раздела аргументы пути заключаются в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").

Обновление общей папки с изменениями в локальной файловой системе

В этом случае общая папка является назначением, а локальная файловая система — источником.

Совет

В этом примере аргументы пути заключены в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").

Синтаксис

azcopy sync '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Пример

azcopy sync 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive

Обновление локальной файловой системы с изменениями в общей папке

В этом случае локальная файловая система является назначением, а общая папка — источником.

Совет

В этом примере аргументы пути заключены в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").

Синтаксис

azcopy sync 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'C:\myDirectory' --recursive

Пример

azcopy sync 'https://mystorageaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory' --recursive

Обновление общей папки в соответствии с изменениями в другой общей папке

Первая общая папка, которая отображается в этой команде, является источником. Второй является назначением.

Синтаксис

azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Пример

azcopy sync 'https://mysourceaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Обновление каталога в соответствии с изменениями в каталоге в другой общей папке

Первый каталог, который отображается в этой команде, является источником. Второй является назначением.

Синтаксис

azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-name><SAS-token>' --recursive

Пример

azcopy sync 'https://mysourceaccount.file.core.windows.net/myFileShare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/myFileShare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Обновление общей папки в соответствии с содержимым моментального снимка общей папки

Первая общая папка, которая отображается в этой команде, является источником. В конце URI добавьте строку &sharesnapshot=, за которой следует значение DateTime моментального снимка.

Синтаксис

azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>&sharesnapsot<snapshot-ID>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Пример

azcopy sync 'https://mysourceaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-03-03T20%3A24%3A13.0000000Z' 'https://mydestinationaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Дополнительные сведения о моментальных снимках общих папок см. в статье Общие сведения о моментальных снимках общих папок для службы файлов Azure.

Следующие шаги

Дополнительные примеры приведены в следующих статьях:

Ознакомьтесь со статьями ниже, чтобы получить сведения о настройке параметров, оптимизации производительности и устранении проблем: