У меня есть следующий простой запрос KUSTO (KQL), и я хотел бы экспортировать результаты этого запроса в Azure блоб-хранилище:
database('MyDatabase').GoldDatabase
| where isnotempty(Post)
Я наткнулся на следующий метод, но не знаю, как применить его к запросу
.export
async compressed
to csv (
h@"https://storage1.blob.core.windows.net/containerName;secretKey",
h@"https://storage1.blob.core.windows.net/containerName2;secretKey"
) with (
sizeLimit=1000000000,
namePrefix="export",
includeHeaders="all",
encoding="UTF8NoBOM"
)
<|
Logs | where id == "1234"
Есть какие-то мысли?
Я только что попробовал следующее с нашим местоположением abfss://
.export
async compressed
to csv (
h@"abfss://[email protected]/InputFiles"
) with (
sizeLimit=1000000000,
namePrefix="gold_database_export",
includeHeaders="all",
encoding="UTF8NoBOM"
)
<|
database('Silver').Marketing
Но не повезло.
Ответ
Чтобы экспортировать данные из Azure Data Explorer в Azure Blob Storage с помощью языка KQL (Kusto Query Language), вы можете использовать команду .export
. Ваша первоначальная задача — экспортировать результаты простого запроса, который выбирает данные из базы данных GoldDatabase
, где столбец Post
не пуст.
Вот подробная инструкция, как это сделать:
-
Убедитесь, что у вас есть доступ к Azure Blob Storage: Вам потребуется строка подключения с ключом доступа, чтобы иметь возможность записывать данные в указанный контейнер.
- Сформируйте ваш запрос для экспорта: Вам нужно будет использовать команду
.export
и подключить её к вашему запросу.
Вот пример того, как вы можете модифицировать ваш исходный запрос:
.export
async compressed
to csv (
h@"https://storage1.blob.core.windows.net/containerName;secretKey"
) with (
sizeLimit=1000000000,
namePrefix="gold_database_export",
includeHeaders="all",
encoding="UTF8NoBOM"
)
<|
database('MyDatabase').GoldDatabase
| where isnotempty(Post)
Пояснение частей запроса:
.export
: Начинает экспорт данных.async compressed
: Указывает, что экспорт будет асинхронным и данные будут сжаты.to csv
: Определяет формат, в который вы хотите экспортировать данные (в данном случае CSV).h@"https://storage1.blob.core.windows.net/containerName;secretKey"
: ЗаменитеcontainerName
на имя вашего контейнера в Azure Blob Storage иsecretKey
на ваш секретный ключ.with (...)
: Устанавливает различные параметры экспорта:sizeLimit
: Максимальный размер файла экспорта, в данном случае 1 ГБ.namePrefix
: Префикс для имен экспортируемых файлов. В вашем примере это будетgold_database_export
.includeHeaders
: Указывает, что заголовки столбцов должны быть включены.encoding
: Указывает кодировку, используемую для экспортируемых данных, здесь используетсяUTF8NoBOM
.
|
: Символ, который разделяет команду экспорта от вашего запроса.database('MyDatabase').GoldDatabase | where isnotempty(Post)
: Ваш исходный запрос, который выбирает записи, где столбецPost
не пуст.
Замечания:
- Убедитесь, что вы используете правильные права доступа для записи в указанный контейнер.
- Обратите внимание, что в случае больших объемов данных экспорт может занять некоторое время.
Пример выше должен помочь вам успешно экспортировать данные из Azure Data Explorer в Azure Blob Storage. Если у вас возникли проблемы, убедитесь, что ваше подключение к Azure Blob Storage корректно и что у вас есть все необходимые разрешения.