Установка эмулятора Azure Data Explorer Kusto
Эмулятор Azure Data Explorer Kusto можно установить следующими способами:
- На своем устройстве: рассмотрите возможность использования этого параметра, если необходимо подготовить локальную среду разработки.
- На виртуальной машине агента CI/CD. Используйте этот параметр, если требуется конвейер CI/CD для выполнения автоматических тестов.
Эмулятор доступен в виде образа контейнера Docker для Windows или Linux .
В этой статье вы узнаете, как выполнять следующие задачи.
Предварительные требования
Операционная система узла должна быть одной из следующих:
Windows Server 2022
Windows Server 2019 версии 10.0.17763.2928 или более поздней версии
Windows 11
Любой дистрибутив Linux, поддерживающий клиент Docker для Linux
Важно!
Дистрибутивы Linux поддерживают только образы контейнеров Linux.
Минимум 2 гигабайта (ГБ) ОЗУ; Рекомендуется использовать 4 ГБ или более
Установка эмулятора Kusto
Ниже описано, как использовать PowerShell для запуска эмулятора с помощью образа контейнера эмулятора Kusto. Другие параметры см. в разделе Параметры запуска эмулятора.
Только для Windows переключите Docker на запуск с контейнерами Windows. Возможно, потребуется включить эту функцию в параметрах Docker.
Выполните следующую команду, чтобы запустить эмулятор.
Важно!
Образ контейнера эмулятора Kusto является бесплатным предложением в соответствии с условиями лицензионного соглашения на использование программного обеспечения Майкрософт. Так как эмулятор работает в контейнере, необходимо принять условия лицензии, передав
ACCEPT_EULA
в контейнер переменную среды со значениемY
, равным .Примечание
- При первом выполнении этой команды Docker извлекает образ контейнера, размер которого составляет несколько ГБ, и скачивание может занять несколько минут. После скачивания образ кэшируется и доступен для последующих запусков без необходимости скачивать его снова.
- (Только для контейнера Windows) Контейнер должен выполняться в режиме изоляции процессов. Это значение по умолчанию для некоторых версий Docker. Для других версий контейнер можно запустить в режиме изоляции Hyper-V, добавив
--isolation=hyperv
в команду run.
Чтобы запустить контейнер Windows в операционной системе
latest
Windows Server, используйте тег илиstable
:docker run -e ACCEPT_EULA=Y -m 4G -d -p 8080:8080 -t mcr.microsoft.com/azuredataexplorer/kustainer:latest
Чтобы запустить контейнер Windows на Windows 11, используйте
windows11
тег :docker run -e ACCEPT_EULA=Y -m 4G -d -p 8080:8080 -t mcr.microsoft.com/azuredataexplorer/kustainer:windows11
Чтобы запустить контейнер Linux, выполните следующие действия.
docker run -e ACCEPT_EULA=Y -m 4G -d -p 8080:8080 -t mcr.microsoft.com/azuredataexplorer/kustainer-linux:latest
Выполните следующую команду, чтобы убедиться, что контейнер запущен.
docker ps
Команда возвращает список запущенных экземпляров контейнеров. Убедитесь, что образ эмулятора mcr.microsoft.com/azuredataexplorer/kustainer:latest отображается в списке.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a8b51bce21ad mcr.microsoft.com/azuredataexplorer/kustainer:latest "powershell -Command¦" 11 minutes ago Up 10 minutes 0.0.0.0:8080->8080/tcp contoso
Выполните следующую команду, чтобы убедиться, что эмулятор Kusto запущен. Команда выполняет запрос к
.show cluster
API управления и возвращает код состояния со значением 200.Invoke-WebRequest -Method post -ContentType 'application/json' -Body '{"csl":".show cluster"}' http://localhost:8080/v1/rest/mgmt
Команда должна возвращать примерно следующее:
StatusCode : 200 StatusDescription : OK Content : {"Tables":[{"TableName":"Table_0","Columns":[{"ColumnName":"NodeId","DataType":"String","ColumnType":"string"},{"ColumnName":"Address","DataType":"St ring","ColumnType":"string"},{"ColumnName":"Name","... RawContent : HTTP/1.1 200 OK Transfer-Encoding: chunked x-ms-client-request-id: unspecified;d239f3aa-7df0-4e46-af0a-edd7139d0511 x-ms-activity-id: a0ac8941-7e4c-4176-98fa-b7ebe14fae90 Content-Type: application... Forms : {} Headers : {[Transfer-Encoding, chunked], [x-ms-client-request-id, unspecified;d239f3aa-7df0-4e46-af0a-edd7139d0511], [x-ms-activity-id, a0ac8941-7e4c-4176-98fa-b7ebe14fae90], [Content-Type, application/json]...} Images : {} InputFields : {} Links : {} ParsedHtml : System.__ComObject RawContentLength : 988
Параметры запуска эмулятора
При запуске эмулятора можно использовать любой из следующих вариантов:
Подключение локальной папки к контейнеру. Используйте этот параметр, чтобы подключить папку в среде узла к контейнеру. Подключение папки узла позволяет запросам взаимодействовать с локальными файлами, что удобно для создания базы данных, сохраняемой между выполнением контейнера и приемом данных.
Например, чтобы подключить папку "D:\host\local" на узле к папке "c:\kustodatadata" в контейнере, используйте следующую команду в Windows Server:
docker run -v d:\host\local:c:\kustodata -e ACCEPT_EULA=Y -m 4G -d -p 8080:8080 -t mcr.microsoft.com/azuredataexplorer/kustainer:latest
Запуск на другом порту: эмулятор Kusto предоставляет доступ к обработчику запросов Kusto через порт 8080; поэтому в других примерах порт узла 8080 сопоставляется с портом эмулятора 8080. Этот параметр можно использовать для сопоставления другого узла с подсистемой.
Например, чтобы сопоставить порт 9000 на узле с подсистемой, используйте следующую команду в Windows Server:
docker run -e ACCEPT_EULA=Y -m 4G -d -p 9000:8080 -t mcr.microsoft.com/azuredataexplorer/kustainer:latest
Подключение к эмулятору
Для подключения к эмулятору и взаимодействия с ним можно использовать любой из следующих средств:
В следующих разделах вы будете использовать Kusto. Обозреватель создавать базу данных, принимать данные и запрашивать их. Дополнительные сведения см. в статье Использование Kusto.Обозреватель.
Важно!
Эмулятор Kusto не поддерживает проверку подлинности HTTPS или Microsoft Entra.
Сначала необходимо разрешить небезопасные подключения в разделе Сервис>Параметры>Подключения>Разрешить небезопасные подключения.
На следующем рисунке выделены затронутые поля в разделе Добавление свойств подключения .
- Подключение к кластеру должно начинаться с
http://
, а неhttps://
. - >Чтобы отключитьпроверку подлинностиMicrosoft Entra, необходимо удалить
AAD Federated Security=True
часть строка подключения.
Создание базы данных
Для хранения данных и выполнения запросов создайте базу данных или подключите эмулятор к существующей базе данных.
База данных может быть сохранена в папке контейнера или в подключенной папке. Время существования первого привязано к контейнеру, поэтому при перезапуске контейнера будут потеряны все изменения. Кроме того, виртуальное хранилище контейнера менее эффективно, чем собственное хранилище. Подключенная папка позволяет хранить данные между запусками контейнера.
В этом примере данные хранятся в контейнере.
В Kusto.Обозреватель В режиме запроса выполните следующую команду, чтобы создать постоянную базу данных при использовании образа контейнера Windows:
.create database <YourDatabaseName> persist (
@"c:\kustodata\dbs\<YourDatabaseName>\md",
@"c:\kustodata\dbs\<YourDatabaseName>\data"
)
Эквивалентная команда для образа контейнера Linux:
.create database <YourDatabaseName> persist (
@"/kustodata/dbs/<YourDatabaseName>/md",
@"/kustodata/dbs/<YourDatabaseName>/data"
)
Для выполнения этой команды требуется, чтобы папки еще не существовали, чтобы предотвратить чрезмерную запись существующих данных. Чтобы подключиться к существующей базе данных, используйте следующую команду, указав путь, заканчивающийся на md
:
.attach database <YourDatabaseName> from @"<PathToMdFolder>"
Кроме того, можно отсоединить базу данных от эмулятора, чтобы сохранить все метаданные и данные базы данных без изменений (чтобы вы могли повторно подключиться к ней в будущем):
.detach database <YourDatabaseName>
Прием данных
Чтобы принимать данные, необходимо сначала создать внешнюю таблицу, связанную с файлом, а затем принять данные в таблицу в базе данных.
Выполните действия, описанные в следующем примере, чтобы создать внешнюю таблицу и принять в нее данные. Например, в локальной папке c:\kustodata создайте файл sample.csv
со следующими данными:
Alice, 1
Bob, 2
Carl, 3
Выполните следующую команду, чтобы создать таблицу для получения данных:
.create table MyIngestedSample(Name:string, Id:int)
Выполните следующую команду, чтобы принять файл в таблицу:
.ingest into table MyIngestedSample(@"c:\kustodata\sample.csv")
Данные запросов
Данные в таблице можно просмотреть с помощью следующего запроса:
MyIngestedSample
| summarize sum(Id), avg(Id)
Остановка контейнера
Вы можете остановить контейнер, выполнив следующую команду, чтобы получить идентификатор контейнера:
docker ps
Выполните следующую команду с идентификатором контейнера:
docker stop <containerID>
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по