#azure-data-explorer
#azure-data-explorer
Вопрос:
У нас есть два кластера Kusto / Azure Data Explorer с определенными таблицами, которые содержат данные, которые я хочу предоставить через веб-API.
На данный момент я использую Kusto.Data.Net.Client
(https://www.nuget.org/packages/Microsoft .Azure.Kusto.Data/) для извлечения этой информации из одного из кластеров.
Проблемы:
- 2-й кластер не разрешает программный доступ.
- Запросы выполняются медленно, и мне не нужно много накладных расходов. Kusto предназначен для больших объемов данных, мне нужны только крошечные биты.
Возможное решение:
Регулярно и автоматически экспортируйте части данных Kusto (на основе запроса) в другую базу данных (Postgres, Cosmos DB) и позвольте API работать над этим.
Вопросы:
- Это рекомендуемый подход?
- Как бы я это сделал (создал этот автоматический экспорт)? Какие инструменты использовать?
Комментарии:
1. Что вы подразумеваете под тем, что 2- й кластер не разрешает программный доступ. ?
2. Я могу запросить его только при входе в свою личную учетную запись. Не допускается «пользователь приложения».
Ответ №1:
Я могу предложить два варианта:
- Вы можете использовать непрерывный экспорт, который будет периодически экспортировать данные из вашего кластера в учетную запись хранилища. Затем вы можете создать сетку событий во втором кластере для чтения из этой учетной записи хранения в свой кластер kusto.
- Создайте кластер последователей, который будет отслеживать только определенные таблицы, которые вам нужны, из первого кластера. Это автоматически получит данные из первого кластера (он же лидер), и запрос последователя не повлечет за собой каких-либо задержек. Более подробная информация здесь
Комментарии:
1. Я посмотрел на вариант 2, потому что, похоже, это то, что я ищу. Однако этот синтаксис
cluster('leader.westus.kusto.windows.net').database('MyDatabase').table('MyTable')
выдает ошибку. Ведущий кластер не разрешает такой доступ.2. Это правильный синтаксис:
cluster('leader.westus.kusto.windows.net').database('MyDatabase').MyTable
(нет необходимости в ‘table («…’ )
Ответ №2:
Вероятно, то, что вы ищете, — это команды политики обновления, которые, согласно документам:
Политика обновления — это объект политики на уровне таблицы, который автоматически выполняет запрос, а затем принимает результаты, когда данные поступают в другую таблицу.
Это хороший подход для уменьшения объема данных.