Копирование файлов из AWS S3 на Azure уровень архива хранения - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь скопировать файлы с AWS S3 на Azure уровень доступа к архивному хранилищу напрямую. Используя azcopy, я могу скопировать файлы из S3 в Azure, но при использовании флага --block-blob-tier Archive я вижу ошибку:

failed to parse user input due to error: blob-tier is not supported while copying from sevice to service

Единственный способ обойти это - скачать файлы локально, а затем загрузить на Azure или изменить уровень доступа после загрузки. Первое - лучшее решение, так как со вторым оно будет вдвое дороже (заплатите за операцию записи при смене уровня). Кто-нибудь имеет другой вариант или знает, почему azcopy не поддерживает это?

ошибка azcopy: https://github.com/Azure/azure-storage-azcopy/blob/7eb7b49f1354b7c205dd469c1ac18cb12f7d353a/cmd/copy.go#L557

Ответы [ 2 ]

1 голос
/ 26 марта 2020

Вместо загрузки файлов из S3 на локальный компьютер и последующей загрузки их обратно в Azure Хранилище, вы можете просто скопировать файл из S3 в Azure Хранилище без явной настройки уровня доступа к BLOB-объектам. Уровень доступа получившегося блоба будет Hot. После успешного завершения операции копирования вы можете изменить уровень доступа.

Преимущество этого подхода заключается в том, что копирование происходит непосредственно между S3 и Azure Storage. Однако этот процесс является асинхронным, и вы должны дождаться завершения операции копирования (вместо того, чтобы просто принять ее), прежде чем начинать операцию изменения уровня доступа.

ОБНОВЛЕНИЕ

Если копирование непосредственно из S3 в Azure Blob Storage и последующее изменение уровня доступа для вас нецелесообразно с точки зрения затрат, вы можете загрузить объект из S3 и загрузить непосредственно в Azure Уровень хранения Blob Storage Archive. Эта функция в предварительном просмотре на момент написания этого поста. Эта функция доступна в Storage REST API версии 2019-02-02. Из release notes link:

API-интерфейсы Copy Blob, Put Block List и Put Blob поддерживают заголовок уровня доступа x-ms для блочных объектов, чтобы установить уровень результатов без необходимости повторного вызова API.

0 голосов
/ 22 апреля 2020

вы можете использовать портал Flexify.io, на котором вам нужно добавить учетные данные корзины s3 и azure хранилище и ключ BLOB-объектов, затем копировать из s3 в блок и наоборот. даже перемещение данных

...