Загрузка BLOB-объектов из Хранилища BLOB-объектов Azure с помощью AzCopy
Вы можете загрузить большие двоичные объекты и каталоги из Хранилища BLOB-объектов с помощью служебной программы командной строки AzCopy v10.
Чтобы просмотреть примеры других типов задач, таких как отправка файлов, синхронизация с Хранилищем BLOB-объектов или копирование больших двоичных объектов между учетными записями, ознакомьтесь с соответствующими сведениями, перейдя по ссылкам, представленным в разделе Дальнейшие действия этой статьи.
Начать
Ознакомьтесь со статьей Начало работы с AzCopy, чтобы получить сведения о том, как скачать AzCopy, а также о способах предоставления учетных данных авторизации в службе хранилища.
Примечание.
В примерах этой статьи предполагается, что вы предоставили учетные данные авторизации с помощью идентификатора Microsoft Entra.
Если вы предпочитаете использовать для авторизации доступа к данным большого двоичного объекта маркер SAS, маркер можно добавить к URL-адресу ресурса в каждой команде AzCopy. Например: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'
.
Скачивание большого двоичного объекта
Скачайте большой двоичный объект с помощью команды azcopy copy.
Совет
В этом примере аргументы пути заключены в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").
Синтаксис
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' '<local-file-path>'
Пример
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'
Пример (конечная точка Data Lake служба хранилища)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'
Примечание.
Если значение свойства Content-md5
большого двоичного объекта содержит хэш, AzCopy вычисляет хэш MD5 для скачанных данных и проверяет, соответствует ли хэш MD5, хранящийся в свойстве большого двоичного объекта Content-md5
, соответствующему вычисляемому хэшу. Если эти значения не совпадают, загрузка завершается ошибкой. Чтобы этого избежать, переопределите это поведение путем добавления --check-md5=NoCheck
или --check-md5=LogOnly
к команде copy.
Загрузка каталога
Загрузите каталог с помощью команды azcopy copy.
Совет
В этом примере аргументы пути заключены в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").
Синтаксис
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' '<local-directory-path>' --recursive
Пример
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory' --recursive
Пример (конечная точка Data Lake служба хранилища)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory' --recursive
В этом примере создается каталог с именем C:\myDirectory\myBlobDirectory
, содержащий все загруженные большие двоичные объекты.
Загрузка содержимого каталога
Вы можете скачать содержимое каталога, не копируя сам каталог, с помощью подстановочного знака (*).
Совет
В этом примере аргументы пути заключены в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").
Примечание.
В настоящее время этот сценарий поддерживается только для учетных записей, у которых нет иерархического пространства имен.
Синтаксис
azcopy copy 'https://<storage-account-name>.blob.core.windows.net/<container-name>/*' '<local-directory-path>/'
Пример
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory/*' 'C:\myDirectory'
Добавьте флаг --recursive
, чтобы загрузить файлы во все подкаталоги.
Загрузка конкретных больших двоичных объектов
Вы можете загружать определенные большие двоичные объекты с помощью полных имен файлов, частичных имен с подстановочными знаками (*) или с помощью дат и времени.
Совет
В этих примерах аргументы пути заключаются в одинарные кавычки (''). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").
Указание нескольких полных имен больших двоичных объектов
Выполните команду azcopy сopy, используя параметр --include-path
. Разделение отдельных имен BLOB-объектов с помощью точки с запятой (;
).
Синтаксис
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-path <semicolon-separated-file-list>
Пример
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt' --recursive
Пример (конечная точка Data Lake служба хранилища)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt'--recursive
В этом примере AzCopy передает каталог https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos
и файл https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt
. Включите параметр --recursive
для перемещения всех больших двоичных объектов в каталог https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos
.
Кроме того, большие двоичные объекты можно исключить с помощью параметра --exclude-path
. Дополнительные сведения см. в справочных документах по azcopy сopy.
Использование подстановочных знаков
Выполните команду azcopy сopy, используя параметр --include-pattern
. Укажите частичные имена, которые содержат подстановочные знаки. Разделяйте имена точкой с запятой (;
).
Синтаксис
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
Пример
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*'
Пример (иерархическое пространство имен)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*'
Кроме того, большие двоичные объекты можно исключить с помощью параметра --exclude-pattern
. Дополнительные сведения см. в справочных документах по azcopy сopy.
Параметры --include-pattern
и --exclude-pattern
применяются только к именам больших двоичных объектов, а не к пути. Если необходимо скопировать все текстовые файлы (большие двоичные объекты), существующие в дереве каталогов, используйте параметр -recursive
для получения всего дерева каталогов, а затем — параметр -include-pattern
и укажите *.txt
, чтобы получить все текстовые файлы.
Загрузка больших двоичных объектов, которые были изменены до или после определенных даты и времени
Выполните команду azcopy сopy, используя параметр --include-before
или --include-after
. Укажите дату и время в формате ISO-8601 (например: 2020-08-19T15:04:00Z
).
В следующих примерах вы увидите, как загружаются файлы, которые были изменены в указанную дату или после нее.
Синтаксис
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>/*' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>
Пример
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z'
Пример (конечная точка Data Lake служба хранилища)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z'
Подробные сведения см. в справочной документации по azcopy сopy.
Загрузка предыдущих версий большого двоичного объекта
Если вы включили Управление версиями BLOB-объектов, вы можете загрузить одну или несколько предыдущих версий большого двоичного объекта.
Сначала создайте текстовый файл, содержащий список идентификаторов версий. Каждый идентификатор версии должен находиться в отдельной строке. Например:
2020-08-17T05:50:34.2199403Z
2020-08-17T05:50:34.5041365Z
2020-08-17T05:50:36.7607103Z
Затем выполните команду azcopy сopy, используя параметр --list-of-versions
. Укажите расположение текстового файла, содержащего список версий (например: D:\\list-of-versions.txt
).
Скачивание моментального снимка большого двоичного объекта
Моментальный снимок BLOB-объекта можно загрузить, ссылаясь на значение DateTime моментального снимка большого двоичного объекта.
Синтаксис
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>?sharesnapshot=<DateTime-of-snapshot>' '<local-file-path>'
Пример
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'
Пример (конечная точка Data Lake служба хранилища)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'
Примечание.
Если вы используете маркер SAS для авторизации доступа к данным большого двоичного объекта, добавьте моментальный снимок DateTime после маркера SAS. Например: 'https://mystorageaccount.blob.core.windows.net/mycontainer/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'
.
Загрузка с дополнительными флагами
Вы можете модифицировать операцию загрузки с помощью дополнительных флагов. Вот несколько примеров.
Сценарий | Флаг |
---|---|
Автоматическое распаковка файлов. | --decompress |
Указание, насколько подробными должны быть записи журнала, связанные с копированием. | --log-level=[WARNING|ERROR|INFO|NONE] |
Укажите, следует ли перезаписывать конфликтующие файлы и большие двоичные объекты в месте назначения. | --overwrite=[true|false|ifSourceNewer|prompt] |
Полный список примеров см. в разделе Параметры.
Следующие шаги
Дополнительные примеры см. в следующих статьях:
- Примеры: отправка
- Примеры. Копирование между учетными записями
- Примеры: синхронизация
- Примеры: контейнеры Amazon S3
- Примеры: облачное хранилище Google
- Примеры. Файлы Azure
- Руководство. Перенос локальных данных в облачное хранилище с помощью AzCopy
Ознакомьтесь со статьями ниже, чтобы получить сведения о настройке параметров, оптимизации производительности и устранении проблем: