1

У меня есть несколько файлов, которые я передал в хранилище Azure Blob через Azure Data Factory. К сожалению, этот инструмент не указывает значение Content-MD5 для любого из значений, поэтому, когда я вытаскиваю это значение из API хранения Blob, он пуст.Передача файла из хранилища Azure Blob в Google Cloud Storage программно

Я собираюсь перенести эти файлы из хранилища Azure Blob и в хранилище Google. Документация, которую я вижу для службы Google Storagetransfer по адресу https://cloud.google.com/storage/transfer/reference/rest/v1/TransferSpec#HttpData, указывает, что я могу легко инициировать такую ​​передачу, если я поставлю список файлов с их URL-адресом, длиной в байтах и ​​хэшем MD5 каждого.

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

К сожалению, мои другие варианты выглядят ограниченными. В возможности до сих пор:

  1. Скачать файл на локальный компьютер, определить хэш и обновлять значение Blob MD5
  2. Смотрите, если я не могу писать Azure приложения функции в той же области, что можно вычислить хэш значение и записать его в blob для каждого в контейнере
  3. Используйте выход Amazon S3 от Data Factory, а затем используйте поддержку Google для импорта из S3, чтобы вытащить ее оттуда, на https://cloud.google.com/storage/transfer/reference/rest/v1/TransferSpec#AwsS3Data, но это действительно кажется пустой тратой полосы пропускания (и мне нужно будет создать учетную запись Amazon).

В идеале, я хочу, чтобы иметь возможность писать сценарий, ударить и оставить его в покое. У меня нет самой быстрой скорости загрузки от Azure, поэтому № 1 будет меньше желаемого, так как это займет много времени.

Есть ли какие-либо другие подходы?

ответ

2

Вы думаете об использовании базы данных Azure Data Factory custom activity, которая используется для преобразования данных? В фоновом режиме вы можете использовать пакет Azure для загрузки, обновления и загрузки ваших файлов в Google Storage, если вы переходите с пользовательской деятельностью ADF.

2

Мы перенесали около 3 ТБ файлов из Azure в Google Storage. Мы начали дешевый Linux-сервер с несколькими локальными дисками TB в Google Computing Engine. Перенесите файлы Azure на локальный диск на blobxfer, а затем скопировали файлы с локального диска в хранилище Google gsutil rsync (gsutil cp).

Вы можете использовать другие инструменты для передачи файлов с Azure, вы даже можете запустить сервер Windows в GCE и использовать gsutils в Windows.

Это заняло несколько дней, но было простым и понятным.

Смежные вопросы