Pedido de HTTP de consulta/gestão
Pedir verbo e recurso
Ação | Verbo HTTP | Recurso HTTP |
---|---|---|
Consulta | GET | /v1/rest/query |
Consulta | POST | /v1/rest/query |
Consulta v2 | GET | /v2/rest/query |
Consulta v2 | POST | /v2/rest/query |
Gestão | POST | /v1/rest/mgmt |
Por exemplo, para enviar um comando de gestão ("gestão") para um ponto final de serviço, utilize a seguinte linha de pedido:
POST https://help.kusto.windows.net/v1/rest/mgmt HTTP/1.1
Veja abaixo os cabeçalhos e o corpo do pedido a incluir.
Cabeçalhos do pedido
A tabela seguinte contém os cabeçalhos comuns utilizados para operações de consulta e gestão.
Cabeçalho padrão | Description | Obrigatório/Opcional |
---|---|---|
Accept |
Definir como application/json |
Necessário |
Accept-Encoding |
As codificações suportadas são gzip e deflate |
Opcional |
Authorization |
Ver autenticação | Necessário |
Connection |
Recomendamos que ative Keep-Alive |
Opcional |
Content-Length |
Recomendamos que especifique o comprimento do corpo do pedido quando conhecido | Opcional |
Content-Type |
Definir como application/json com charset=utf-8 |
Necessário |
Expect |
Pode ser definido como 100-Continue |
Opcional |
Host |
Definido como o nome de domínio qualificado para o qual o pedido foi enviado (por exemplo, help.kusto.windows.net ) |
Necessário |
A tabela seguinte contém os cabeçalhos personalizados comuns utilizados para operações de consulta e gestão. Salvo indicação em contrário, estes cabeçalhos são utilizados apenas para fins de telemetria e não têm qualquer impacto na funcionalidade.
Todos os cabeçalhos são opcionais. Recomendamos que especifique o x-ms-client-request-id
cabeçalho personalizado.
Em alguns cenários, como cancelar uma consulta em execução, este cabeçalho é necessário porque é utilizado para identificar o pedido.
Cabeçalho personalizado | Description |
---|---|
x-ms-app |
O nome (amigável) da aplicação que faz o pedido |
x-ms-user |
O nome (amigável) do utilizador que faz o pedido |
x-ms-user-id |
O mesmo que x-ms-user |
x-ms-client-request-id |
Um identificador exclusivo para o pedido |
x-ms-client-version |
O identificador de versão (amigável) do cliente que faz o pedido |
x-ms-readonly |
Se especificado, força o pedido a ser executado no modo só de leitura, impedindo-o de fazer alterações duradouras |
Parâmetros do pedido
Os parâmetros seguintes podem ser transmitidos no pedido. São codificados no pedido como parâmetros de consulta ou como parte do corpo, dependendo se GET ou POST são utilizados.
Parâmetro | Description | Obrigatório/Opcional |
---|---|---|
csl |
Texto da consulta ou comando de gestão a executar | Necessário |
db |
Nome da base de dados no âmbito que é o destino do comando de consulta ou gestão | Opcional para alguns comandos de gestão. Necessário para outros comandos e todas as consultas. |
properties |
Fornece propriedades de pedido que modificam a forma como o pedido é processado e os respetivos resultados. Para obter mais informações, veja Propriedades do pedido | Opcional |
Parâmetros de consulta GET
Quando GET é utilizado, os parâmetros de consulta do pedido especificam os parâmetros do pedido.
Corpo
Quando POST é utilizado, o corpo do pedido é um único documento JSON codificado em UTF-8, com os valores dos parâmetros do pedido.
Exemplos
Este exemplo mostra o pedido HTTP POST de uma consulta.
POST https://help.kusto.windows.net/v2/rest/query HTTP/1.1
Cabeçalhos do pedido
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
Corpo do pedido
{
"db":"Samples",
"csl":"print Test=\"Hello, World!\"",
"properties":"{\"Options\":{\"queryconsistency\":\"strongconsistency\"},\"Parameters\":{},\"ClientRequestId\":\"MyApp.Query;e9f884e4-90f0-404a-8e8b-01d883023bf1\"}"
}
Este exemplo mostra como criar um pedido que envia a consulta acima com curl.
Obtenha um token para autenticação.
Substitua
AAD_TENANT_NAME_OR_ID
,AAD_APPLICATION_ID
eAAD_APPLICATION_KEY
pelos valores relevantes, depois de ter configurado Microsoft Entra autenticação de aplicaçõescurl "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"
Este fragmento de código irá fornecer-lhe o token de portador.
{ "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" }
Utilize o token de portador no seu pedido para o ponto final da consulta.
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
Leia a resposta de acordo com esta especificação.
Definir propriedades do pedido de cliente e parâmetros de consulta
No corpo de exemplo seguinte, a consulta no csl
campo declara dois parâmetros com o nome n
e d
. Os valores desses parâmetros de consulta são especificados no Parameters
campo no properties
campo no corpo do pedido. O Options
campo define as propriedades do pedido de cliente.
Nota
Os parâmetros não de cadeia e não longos têm de ser expressos como literais KQL no formato de cadeia.
{
"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\"])"
}
}
}
Para obter mais informações, veja Parâmetros de consulta.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários