Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете отправлять файлы и каталоги в хранилище BLOB-объектов с помощью служебной программы командной строки AzCopy версии 10.
Чтобы просмотреть примеры других типов задач, таких как загрузка больших двоичных объектов, синхронизация с хранилищем BLOB-объектов или копирование больших двоичных объектов между учетными записями, ознакомьтесь с соответствующими сведениями, перейдя по ссылкам, представленным в разделе Дальнейшие действия этой статьи.
Начало работы
Ознакомьтесь со статьей Начало работы с AzCopy, чтобы получить сведения о том, как скачать AzCopy, а также о способах предоставления учетных данных авторизации в службе хранилища.
Примечание.
В примерах этой статьи предполагается, что вы предоставляете учетные данные авторизации с помощью идентификатора Microsoft Entra.
Если вы хотите использовать маркер SAS для авторизации доступа к данным BLOB-объектов, добавьте этот маркер к URL-адресу ресурса в каждой команде AzCopy. Например: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.
Создание контейнера
Используйте команду azcopy make для создания контейнера.
Совет
В этих примерах аргументы пути заключаются в одинарные кавычки (''). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), аргументы пути обрамите двойными кавычками ("") вместо одиночных кавычек (').
Синтаксис
azcopy make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'
Пример
azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'
Пример (конечная точка Data Lake Storage)
azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'
Подробную справочную документацию можно найти в описании azcopy make.
Отправка файла
Отправьте файл с помощью команды azcopy copy.
Совет
В этих примерах аргументы пути заключаются в одинарные кавычки (''). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одиночных кавычек (').
Синтаксис
azcopy copy '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'
Пример
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Пример (конечная точка Data Lake Storage)
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
Кроме того, файл можно загрузить, используя подстановочный знак (*) в любом месте пути к файлу или имени файла. Например, 'C:\myDirectory\*.txt' или C:\my*\*.txt.
Отправка каталога
Отправьте каталог с помощью команды azcopy copy.
В этом примере каталог (и все файлы в этом каталоге) копируется в контейнер больших двоичных объектов. Результатом является каталог в контейнере с тем же именем.
Совет
В этих примерах аргументы пути заключаются в одинарные кавычки (''). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных кавычек ('').
Синтаксис
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Пример
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive
Пример (конечная точка Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --recursive
Чтобы выполнить копирование в каталог в контейнере, просто укажите имя этого каталога в командной строке.
Пример
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive
Пример (конечная точка Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive
Если указать имя каталога, который не существует в контейнере, AzCopy создает новый каталог с таким именем.
Отправка содержимого каталога
Отправьте содержимое каталога с помощью команды azcopy copy. Используйте подстановочный знак (*), чтобы отправить содержимое, не копируя сам каталог с этим содержимым.
Совет
В этих примерах аргументы пути заключаются в одинарные кавычки (''). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одиночных кавычек ('').
Синтаксис
azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'
Пример
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'
Пример (конечная точка Data Lake Storage)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'
Добавьте флаг --recursive, чтобы отправить файлы во все подкаталоги.
Отправка определенных файлов
Вы можете отправлять определенные файлы с помощью полных имен файлов, частичных имен с подстановочными знаками (*) или с помощью дат и времени.
Совет
В этих примерах аргументы пути заключаются в одинарные кавычки (''). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").
Указание нескольких полных имен файлов
Выполните команду azcopy сopy, используя параметр --include-path. Разделите имена файлов точкой с запятой (;).
Синтаксис
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>
Пример
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
Пример (конечная точка Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
В этом примере 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>.<blob or dfs>.core.windows.net/<container-name>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
Пример
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Пример (конечная точка Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --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 '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' --include-after <Date-Time-in-ISO-8601-format>
Пример
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Пример (конечная точка Data Lake Storage)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Подробные сведения см. в справочной документации по azcopy сopy.
Отправка с помощью тегов индекса
Вы можете отправить файл и добавить теги индекса BLOB-объектов в целевой BLOB-объект.
Если вы используете авторизацию Microsoft Entra, назначьте роль владельца данных BLOB-объектов хранилища субъекту безопасности или предоставьте ему разрешение на Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/writeоперацию поставщика ресурсов Azure с помощью настраиваемой роли Azure. Если вы используете токен SAS (подпись общего доступа), токен должен предоставлять доступ к тегам BLOB-объекта через t разрешение SAS.
Чтобы добавить теги, используйте --blob-tags параметр с парой ключ-значение, закодированной в формате URL.
Например, чтобы добавить ключ my tag и значение my tag value, включите --blob-tags='my%20tag=my%20tag%20value' в целевой параметр.
Разделите несколько тегов индекса с амперсандом (&). Например, чтобы добавить ключ my second tag и значение my second tag value, строка полного параметра имеет значение --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'.
В следующих примерах показано, как использовать параметр --blob-tags.
Совет
В этих примерах аргументы пути заключаются в одинарные кавычки (''). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных кавычек ('').
Отправка файла
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Отправка каталога
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Отправка содержимого каталога
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Примечание.
Если вы указываете каталог для источника, все блобы, которые вы копируете в место назначения, имеют те же теги, указанные в команде.
Отправка с дополнительными флагами
Вы можете модифицировать операцию отправки с помощью дополнительных флагов. Вот несколько примеров.
| Сценарий | Флаг |
|---|---|
| Отправьте файлы в виде добавочных или страничных BLOB-объектов. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
| Отправьте файлы на конкретный уровень хранилища (например, на уровень архива). | --block-blob-tier=[None|Hot|Cool|Archive] |
Полный список примеров см. в разделе Параметры.
Укажите типы источника и назначения
AzCopy использует --from-to параметр для явного определения типов ресурсов источника и назначения, если автоматическое обнаружение может завершиться ошибкой, например в сценариях трубопровода или эмуляторах. Этот параметр помогает AzCopy понять контекст процесса передачи и провести соответствующую оптимизацию.
| Значение FromTo | Description |
|---|---|
LocalBlob |
Отправка из локальной файловой системы в хранилище BLOB-объектов Azure |
LocalBlobFS |
Отправка из локальной файловой системы в Azure Data Lake 2-го поколения (BLOBFS) |
PipeBlob |
Потоковая передача данных из канала в хранилище BLOB-объектов Azure |
PipeFile |
Потоковая передача данных из канала в хранилище файлов Azure |
Следующие шаги
Дополнительные примеры см. в следующих статьях:
- Примеры: скачивание
- Примеры: копирование между учетными записями
- Примеры: синхронизация
- Примеры: контейнеры Amazon S3
- Примеры: облачное хранилище Google
- Примеры. Файлы Azure
Ознакомьтесь со статьями ниже, чтобы получить сведения о настройке параметров, оптимизации производительности и устранении проблем: