Как мне сделать резервную копию данных в Azure BLOB из Azure Cosmos DB в течение определенного этапа? - PullRequest
0 голосов
/ 08 июля 2019

У меня есть учетная запись Azure Cosmos DB, которую я хочу сделать - это резервное копирование данных, срок которого составляет один месяц, от Azure Cosmos DB до хранилища BLOB-объектов Azure с помощью моего приложения-узла. Я уже создал конвейер и запустил его с помощью API создания конвейерного запуска для Nodejs (используя фабрику данных Azure). Но я не могу понять, как сделать выборочный конвейер для данных, которые имеют месяц от текущей даты. Любые предложения для этого?

РЕДАКТИРОВАТЬ : На самом деле я хочу запускать API каждый день, чтобы он выполнял резервное копирование данных, возраст которых составляет один месяц. Например, допустим, сегодня я получил 100 записей в моей космической БД, поэтому конвейер должен выбрать данные на текущую дату - 30 дней и создать резервную копию, чтобы в любой момент моя БД Azure Cosmos имела данные только за последние 30 дней и оставшиеся данные резервное копирование в BLOB-объект Azure.

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Просто дополнение к ответу @ Дэвида здесь. Если вы имеете в виду API-интерфейс Cosmos DB SQL, он имеет механизм автоматического резервного копирования на основе этой ссылки: Автоматическое и оперативное резервное копирование .

С Azure Cosmos DB вы можете хранить не только ваши данные, но и резервные копии данные сильно избыточны и устойчивы к региональным катастрофам. в настоящее время автоматическое резервное копирование выполняется каждые четыре часа и в любое момент времени, последние две резервные копии сохраняются. Если у вас есть случайно удалил или испортил ваши данные, вы должны связаться с Azure поддержка в течение восьми часов, чтобы команда Azure Cosmos DB могла помочь вы восстанавливаете данные из резервных копий.

Однако вы не можете получить доступ к этой резервной копии напрямую. Azure Cosmos DB будет использовать эту резервную копию только в том случае, если будет начато восстановление резервной копии.

Но в документе предусмотрены две опции для управления собственными резервными копиями.

  • 1.Используйте фабрику данных Azure для периодического перемещения данных в хранилище по вашему выбору.
  • 2.Используйте Azure Cosmos DB для изменения канала, чтобы периодически читать данные для полных резервных копий, а также для дополнительных изменений и сохранять их в своем собственном хранение.

Вы можете использовать триггерную операцию копирования в АПД для передачи данных в расписании. Если вы хотите отфильтровать данные по дате, вы можете узнать о _ts в базе данных cosmos, которая представляет время последнего изменения данных .

0 голосов
/ 08 июля 2019

Не уверен, на какой конвейер вы ссылаетесь. Тем не менее, Cosmos DB не имеет встроенных инструментов резервного копирования. Вам необходимо выбрать и скопировать эти данные программно.

Если вы используете API MongoDB, вы можете передать параметр запроса в инструмент командной строки mongoexport (который служит в качестве фильтра даты), но вам все равно нужно будет запустить mongoexport с вашей виртуальной машины, напишите в локальный каталог, затем скопируйте в хранилище BLOB-объектов (я не знаю, можно ли установить / запустить инструменты MongoDB в чем-то вроде функций Azure или конвейера DevOps).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...