it-swarm.com.ru

Как сделать резервную копию таблиц и BLOB-объектов Azure

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

12
Keith Holloway

Проведя много исследований наилучшего способа автоматического резервного копирования данных, я обнаружил, что самый простой способ сделать это - запланировать задание в планировщике задач Windows на виртуальной машине Azure, которая использует AZCopy. AZCopy выполняет перемещение данных таблицы в VM, а затем обратно в хранилище вторичных больших двоичных объектов в Azure для хранения резервной копии. Пакетный файл также заставляет AZCopy копировать большие двоичные объекты из исходной учетной записи хранения в целевую учетную запись напрямую.

Вы можете увидеть подробное описание того, как я сделал эту работу, со ссылками на командные файлы, которые я использую для автоматизации резервного копирования, по этой ссылке: http://www.eastfive.com/2016/03/01/Automatic-Backup-of-Azure-хранилища-таблицы-и-капли/

02/08/2018 обновление этого ответа: Я задал этот вопрос службе поддержки Azure 18 января 2018 года, предполагая, что у них наверняка есть способ сделать это сейчас через службу в Azure. К сожалению, это не так, и нет (согласно поддержке Microsoft) лучшего способа сделать резервные копии таблиц, чем те, которые существовали, когда этот вопрос был впервые задан. Это ответ от службы поддержки от 24.01.2008: 

«Я рассмотрел ваше дело, и, к сожалению, нет способа Сделать снимок всей учетной записи или контейнера, и поэтому единственный способ Сделать снимки с помощью хранилища Azure - это итерация больших двоичных объектов и Применение снимки затем переносят снимки во вторичную учетную запись Или вы можете просто скопировать фактические файлы в другую учетную запись , но это будет иметь большую задержку и будет более дорогостоящим для емкости хранилища , где снимки будут занимать меньше и быстрее перевод.
Методы, которые мы поддерживаем для передачи, - это AzCopy и Библиотека перемещения данных, которую можно использовать для пользовательской миграции Решения на Java или C #.
Если вы хотите автоматизировать эти процессы тогда вы можете сделать это с помощью Powershell и Azure Automation или с помощью Функции Azure, но помощь в этих решениях, вероятно, потребуется быть поднятым через другой запрос поддержки, как моя команда чисто поддерживает хранилище Azure. "

Таким образом, до сих пор не существует автоматизированного способа сделать эти резервные копии. Моя команда работает над библиотекой для создания резервных копий. Когда мы закончим, я отправлю сюда.

05/08/2018 Обновление этого ответа: Как уже упоминалось, моя команда работает над библиотекой для автоматизации резервного копирования. Вы можете найти проект здесь: https://github.com/eastfivellc/EastFive.Azure.Storage.Backup . Пожалуйста, не стесняйтесь вносить свой вклад.

10/18/2018 обновление этого ответа: Мне удалось скопировать данные в Azure, используя их функциональность фабрики данных Azure. Я использовал Data Factory для передачи данных из моего источника в целевое хранилище для таблиц и больших двоичных объектов. Однако стоимость перемещения данных непомерно высока (в сотнях долларов за резервную копию). Таким образом, это не решение для резервного копирования. Как упоминалось в моем посте выше (и в ответе ниже), библиотека перемещения данных Azure является лучшим решением здесь. 

7
Keith Holloway

Взгляните на библиотеку перемещения данных хранилища Microsoft Azure

Похоже, что он предлагает большую часть функциональности AzCopy, но в пакете nuget, поэтому вы можете использовать его практически в любом месте.

Мы запускаем это в запущенном веб-задании, и, похоже, оно работает очень хорошо как для резервного копирования таблиц, так и для больших двоичных объектов.

1
Carl

Вы также можете использовать инструменты сторонних разработчиков, такие как командлеты управления Cerebrata Azure или функциональность BLOB-объект асинхронного копирования анонсированный группой хранения Microsoft Azure, который, по сути, позволит вам копировать данные из одной учетной записи хранения в другую учетную запись хранения без загрузки данные локально. 

Проверьте ветку для получения дополнительной информации: Каков наилучший способ резервного копирования содержимого хранилища BLOB-объектов Azure .

Надеюсь это поможет.

1
Derek