HTTP-запрос для запроса или управления
Область применения: ✅Microsoft Fabric✅Azure Data Explorer
Команда запроса и ресурс
Действие | HTTP-команда | Ресурс HTTP |
---|---|---|
Query | GET | /v1/rest/query |
Query | POST | /v1/rest/query |
Запрос версии 2 | GET | /v2/rest/query |
Запрос версии 2 | POST | /v2/rest/query |
Управление | POST | /v1/rest/mgmt |
Например, чтобы отправить команду управления ("управление") в конечную точку службы, используйте следующую строку запроса:
POST https://help.kusto.windows.net/v1/rest/mgmt HTTP/1.1
Ознакомьтесь с заголовками запросов и текстом, чтобы узнать, что нужно включить.
Заголовки запросов
В следующей таблице содержатся общие заголовки, используемые для операций запроса и управления.
Стандартный заголовок | Description | Обязательно/Необязательно |
---|---|---|
Accept |
Типы носителей, получаемые клиентом. Задайте значение application/json . |
Обязательное поле |
Accept-Encoding |
Поддерживаемые кодировки содержимого. Поддерживаются gzip кодировки и deflate . |
Необязательно |
Authorization |
Учетные данные проверки подлинности. Дополнительные сведения см. в разделе проверки подлинности. | Обязательное поле |
Connection |
Остается ли подключение открытым после операции. Рекомендуется задать значение Connection Keep-Alive . |
Необязательно |
Content-Length |
Размер текста запроса. Укажите длину текста запроса, если известно. | Необязательно |
Content-Type |
Тип носителя текста запроса. Установите значение с параметром application/json charset=utf-8 . |
Обязательное поле |
Expect |
Ожидаемый ответ от сервера. Для него можно задать значение 100-Continue . |
Необязательно |
Host |
Полное доменное имя, в которое был отправлен запрос. Например, help.kusto.windows.net . |
Обязательное поле |
В следующей таблице содержатся общие пользовательские заголовки, используемые для операций запроса и управления. Если не указано, эти заголовки используются только для целей телеметрии и не влияют на функциональные возможности.
Все заголовки являются необязательными. Однако рекомендуется x-ms-client-request-id
указать пользовательский заголовок.
В некоторых сценариях, таких как отмена выполняемого запроса, x-ms-client-request-id
требуется, так как он используется для идентификации запроса.
Пользовательский заголовок | Description |
---|---|
x-ms-app |
Понятное имя приложения, выполняющего запрос. |
x-ms-user |
Понятное имя пользователя, выполняющего запрос. |
x-ms-user-id |
То же понятное имя, что x-ms-user и . |
x-ms-client-request-id |
Уникальный идентификатор запроса. |
x-ms-client-version |
Понятный идентификатор версии для клиента, выполняющего запрос. |
x-ms-readonly |
Если задано, запрос выполняется в режиме только для чтения, что предотвращает изменение данных запроса. |
Параметры запроса
Следующие параметры можно передать в запросе. Они кодируются в запросе в качестве параметров запроса или в составе текста в зависимости от того, используется ли GET или POST.
Параметр | Описание | Обязательно/Необязательно |
---|---|---|
csl |
Текст выполняемой команды запроса или управления. | Обязательное поле |
db |
Имя базы данных, которая является целью команды запроса или управления. | Необязательно для некоторых команд управления. Требуется для всех запросов и всех других команд. |
properties |
Запрос свойств, изменяющих способ обработки запроса и его результатов. Дополнительные сведения см. в разделе "Свойства запроса". | Необязательно |
Параметры запроса GET
При использовании запроса GET параметры запроса указывают параметры запроса.
Текст
При использовании запроса POST текст запроса содержит один документ JSON в кодировке UTF-8, включающий значения параметров запроса.
Примеры
В следующем примере показан HTTP-запрос POST для запроса.
POST https://help.kusto.windows.net/v2/rest/query HTTP/1.1
Заголовки запросов
Accept: application/json
Authorization: Bearer ...AzureActiveDirectoryAccessToken...
Accept-Encoding: deflate
Content-Type: application/json; charset=utf-8
Host: help.kusto.windows.net
x-ms-client-request-id: MyApp.Query;e9f884e4-90f0-404a-8e8b-01d883023bf1
x-ms-user-id: EARTH\davidbg
x-ms-app: MyApp
Текст запроса
{
"db":"Samples",
"csl":"print Test=\"Hello, World!\"",
"properties":"{\"Options\":{\"queryconsistency\":\"strongconsistency\"},\"Parameters\":{},\"ClientRequestId\":\"MyApp.Query;e9f884e4-90f0-404a-8e8b-01d883023bf1\"}"
}
В следующем примере показано, как создать запрос, который отправляет предыдущий запрос с помощью curl.
Получите маркер для проверки подлинности.
Замените
AAD_TENANT_NAME_OR_ID
, а такжеAAD_APPLICATION_KEY
соответствующими значениями после настройки проверки подлинности приложенияAAD_APPLICATION_ID
Microsoft Entra.curl "https://login.microsoftonline.com/AAD_TENANT_NAME_OR_ID/oauth2/token" \ -F "grant_type=client_credentials" \ -F "resource=https://help.kusto.windows.net" \ -F "client_id=AAD_APPLICATION_ID" \ -F "client_secret=AAD_APPLICATION_KEY"
Этот фрагмент кода предоставляет маркер носителя.
{ "token_type": "Bearer", "expires_in": "3599", "ext_expires_in":"3599", "expires_on":"1578439805", "not_before":"1578435905", "resource":"https://help.kusto.windows.net", "access_token":"eyJ0...uXOQ" }
Используйте маркер носителя в запросе к конечной точке запроса.
curl -d '{"db":"Samples","csl":"print Test=\"Hello, World!\"","properties":"{\"Options\":{\"queryconsistency\":\"strongconsistency\"}}"}"' \ -H "Accept: application/json" \ -H "Authorization: Bearer eyJ0...uXOQ" \ -H "Content-Type: application/json; charset=utf-8" \ -H "Host: help.kusto.windows.net" \ -H "x-ms-client-request-id: MyApp.Query;e9f884e4-90f0-404a-8e8b-01d883023bf1" \ -H "x-ms-user-id: EARTH\davidbg" \ -H "x-ms-app: MyApp" \ -X POST https://help.kusto.windows.net/v2/rest/query
Считывает ответ в соответствии с кодами состояния ответа.
Задание свойств запроса клиента и параметров запроса
В следующем примере текста запроса запрос в csl
поле объявляет два параметра с именем n
и d
. Значения этих параметров запроса указываются в Parameters
поле под полем в тексте properties
запроса. Поле Options
определяет свойства запроса клиента.
Примечание.
Нестроковые и не длинные параметры должны быть выражены как литералы KQL в строковом формате.
{
"db": "Samples",
"csl": "declare query_parameters (n:long, d:dynamic); StormEvents | where State in (d) | top n by StartTime asc",
"properties": {
"Options": {
"maxmemoryconsumptionperiterator": 68719476736,
"max_memory_consumption_per_query_per_node": 68719476736,
"servertimeout": "50m"
},
"Parameters": {
"n": 10, "d": "dynamic([\"ATLANTIC SOUTH\"])"
}
}
}
Дополнительные сведения см. в разделе "Поддерживаемые свойства запроса".
Отправка команды политики кэширования базы данных
В следующем примере отправляется запрос на отображение Samples
политики кэширования базы данных.
{
"db": "Samples",
"csl": ".show database Samples policy caching",
"properties": {
"Options": {
"maxmemoryconsumptionperiterator": 68719476736,
"max_memory_consumption_per_query_per_node": 68719476736,
"servertimeout": "50m"
}
}
}