#azure #azure-cosmosdb #azure-cosmosdb-changefeed
#azure #azure-cosmosdb #azure-cosmosdb-changefeed
Вопрос:
У меня есть источник данных с примерно 30 000 записей. Когда я опрашиваю источник данных, я получаю все записи за один раз. Нет метки времени, указывающей, когда источник данных обновлялся в последний раз.
Я хотел бы использовать Azure для преобразования данных в серию инструкций по добавлению, обновлению и удалению, которые публикуются на служебной шине.
Я мог бы опубликовать каждую запись в CosmosDB и использовать канал изменений для создания инструкций по добавлению и обновлению, которые затем я бы опубликовал на служебной шине. Но это не будет обрабатывать удаления. В случае удалений CosmosDB будет иметь запись, а входящий источник данных — нет, поэтому инструкция по удалению не будет создана.
В этом сценарии есть ли способ использовать канал изменений CosmosDB для создания удалений? Если нет, есть ли другой «Azurey» способ генерировать инструкции по добавлению, обновлению и удалению из опроса источника данных без временных меток? Любая помощь приветствуется! Спасибо
Ответ №1:
Один из способов сделать это сегодня — вставить флаг надгробия "delete": true
в вашу запись.
Затем, когда этот элемент появляется в ленте изменений, вы можете проверить наличие этого свойства и, если оно существует, запустить его в ServiceBus, а затем вызвать DeleteItemAsync()
из вашего процесса, в котором размещен канал изменений, будь то виртуальная машина, функция Azure и т. Д.