Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
С помощью служебной программы командной строки AzCopy версии 10 можно скопировать большие двоичные объекты, каталоги и контейнеры между учетными записями хранения.
Примеры других типов задач, таких как отправка файлов, скачивание блобов и синхронизация с хранилищем блобов, см. в разделе «Дальнейшие действия» этой статьи.
AzCopy использует API типа сервер-сервер, поэтому данные копируются непосредственно между серверами хранилища.
Начало работы
Ознакомьтесь со статьей Начало работы с AzCopy, чтобы получить сведения о том, как скачать AzCopy, а также о способах предоставления учетных данных авторизации в службе хранилища.
Примечание.
В примерах этой статьи предполагается, что вы предоставляете учетные данные авторизации с помощью идентификатора Microsoft Entra и что удостоверение Microsoft Entra имеет соответствующие назначения ролей для исходных и целевых учетных записей.
Кроме того, можно добавить маркер SAS к исходному или целевому URL-адресу в каждой команде AzCopy. Например: azcopy copy 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>'.
Рекомендации
Примените следующие рекомендации к командам AzCopy.
Если вы используете авторизацию Microsoft Entra для источника и назначения, обе учетные записи должны принадлежать одному клиенту Microsoft Entra.
Клиент должен иметь сетевой доступ как к исходным, так и к целевым учетным записям хранения.
Дополнительные сведения о том, как настраивать параметры сети для каждой учетной записи хранения, см. в статье Настройка брандмауэров и виртуальных сетей службы хранилища Azure.
Дополнительные сведения о поддерживаемых топологиях сети при копировании между учетными записями см. в разделе "Копирование BLOB-объектов между учетными записями хранения с ограничением доступа".
При копировании в учетную запись хранения блочных BLOB-объектов цен. категории "Премиум" исключите уровень доступа BLOB-объекта из операции копирования, задав для
s2s-preserve-access-tierзначениеfalse(например,--s2s-preserve-access-tier=false). Учетные записи хранения блочных BLOB-объектов цен. категории "Премиум" не поддерживают уровни доступа.Пропускную способность операций копирования можно увеличить, задав значение переменной среды
AZCOPY_CONCURRENCY_VALUE. Узнать больше можно из статьи Увеличение степени параллелизма.Если исходные блобы имеют теги индекса, и вы хотите сохранить эти теги, необходимо переустановить их на целевых BLOB-объектах. Сведения о том, как задавать теги индекса, см. в разделе Копирование BLOB-объектов в другую учетную запись хранения с тегами индекса этой статьи.
Копирование BLOB-объекта
Скопируйте BLOB-объект в другую учетную запись хранения с помощью команды azcopy copy.
Совет
В этом примере аргументы пути заключены в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").
Синтаксис
azcopy copy 'https://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>'
Пример
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Пример (конечные точки Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
Операция копирования синхронна. Когда команда возвращается, она указывает, что все файлы копируются.
Копирование каталога
Скопируйте каталог в другую учетную запись хранения с помощью команды azcopy copy.
Совет
В этом примере аргументы пути заключены в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").
Синтаксис
azcopy copy 'https://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Пример
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Пример (конечные точки Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
Операция копирования синхронна. Когда команда возвращается, все файлы копируются.
Копирование контейнера
Скопируйте контейнер в другую учетную запись хранения с помощью команды azcopy copy.
Совет
В этом примере аргументы пути заключены в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").
Синтаксис
azcopy copy 'https://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Пример
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Пример (конечные точки Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
Операция копирования синхронна. Когда команда возвращается, все файлы копируются.
Копирование контейнеров, каталогов и BLOB-объектов
Скопируйте все контейнеры, каталоги и BLOB-объекты в другую учетную запись хранения с помощью команды azcopy copy.
Совет
В этом примере аргументы пути заключены в одинарные кавычки (' '). Используйте одинарные кавычки во всех командных оболочках, кроме командной оболочки Windows (cmd.exe). Если вы используете командную оболочку Windows (cmd.exe), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").
Синтаксис
azcopy copy 'https://<source-storage-account-name>.<blob or dfs>.core.windows.net/' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/' --recursive
Пример
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive
Пример (конечные точки Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/' 'https://mydestinationaccount.dfs.core.windows.net' --recursive
Операция копирования синхронна. Когда команда возвращается, она указывает, что все файлы копируются.
Копирование BLOB-объектов и добавление тегов индекса
Скопируйте большие двоичные объекты в другую учетную запись хранения и добавьте теги индекса BLOB-объектов в целевой большой двоичный объект.
Если вы используете авторизацию Microsoft Entra, назначьте субъекту безопасности роль Storage Blob Data Owner или предоставьте ему разрешение на Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/writeоперацию поставщика ресурсов Azure с помощью роли Azure, разработанной специально для вас. Если вы используете токен общей подписи доступа (SAS), токен должен предоставить доступ к тегам объекта BLOB через разрешения SAS t.
Чтобы добавить теги, используйте --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), заключите аргументы пути в двойные кавычки ("") вместо одинарных (").
Пример BLOB-объекта
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Пример каталога
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Пример контейнера
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Пример учетной записи
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Операция копирования синхронна. Когда команда возвращается, все файлы копируются.
Примечание.
Если вы укажете каталог, контейнер или учетную запись источника, все блобы, которые вы копируете в назначение, будут иметь те же теги, которые вы указали в команде.
Копирование с дополнительными флагами
Вы можете модифицировать операцию копирования с помощью дополнительных флагов. Вот несколько примеров.
| Сценарий | Флаг |
|---|---|
| Копирование BLOB-объектов в виде блоков, страниц или добавочных BLOB-объектов. | --blob-type=[BlockBlob|PageBlob |AppendBlob] |
| Копирование файлов в конкретный уровень хранилища (например, в архивный уровень). | --block-blob-tier=[None|Горячий|Холодный|Архив] |
| Автоматическое распаковка файлов. | --decompress=[gzip|deflate] |
Полный список примеров см. в разделе Параметры.
Указать типы источника и назначения
AzCopy использует --from-to параметр для явного определения типов ресурсов источника и назначения, когда возможен сбой автоматического обнаружения, например в сценариях конвейерной обработки данных или при работе с эмуляторами. Этот параметр помогает AzCopy понять контекст процесса передачи и провести соответствующую оптимизацию.
| Значение FromTo | Description |
|---|---|
BlobBlob |
Копирование между двумя расположениями хранилища BLOB-объектов Azure |
BlobBlobFS |
Копирование из хранилища BLOB-объектов Azure в Azure Data Lake 2-го поколения (BLOBFS) |
BlobFSBlob |
Копирование из Azure Data Lake 2-го поколения (BLOBFS) в хранилище BLOB-объектов Azure |
BlobFSBlobFS |
Копирование между двумя расположениями Azure Data Lake 2-го поколения (BLOBFS) |
BlobFSFile |
Копирование из Azure Data Lake 2-го поколения (BLOBFS) в хранилище файлов Azure |
BlobFile |
Копирование из хранилища BLOB-объектов Azure в хранилище файлов Azure |
FileBlob |
Копирование из хранилища файлов Azure в хранилище BLOB-объектов Azure |
FileBlobFS |
Копирование из хранилища файлов Azure в Azure Data Lake 2-го поколения (BLOBFS) |
Следующие шаги
Дополнительные примеры см. в следующих статьях:
- Примеры: отправка
- Примеры: скачивание
- Примеры: синхронизация
- Примеры: контейнеры Amazon S3
- Примеры: облачное хранилище Google
- Примеры. Файлы Azure
Ознакомьтесь со статьями ниже, чтобы получить сведения о настройке параметров, оптимизации производительности и устранении проблем:
- Параметры конфигурации AzCopy
- Оптимизация производительности AzCopy
- Поиск ошибок и возобновление заданий с помощью файлов журналов и планов в AzCopy
- Устранение неполадок с AzCopy версии 10
- Использование AzCopy для копирования больших двоичных объектов между учетными записями хранения Azure с ограничениями сети