Requête HTTP d’interrogation ou de gestion
Demander un verbe et une ressource
Action | Verbe HTTP | Ressource HTTP |
---|---|---|
Requête | GET | /v1/rest/query |
Requête | POST | /v1/rest/query |
Requête v2 | GET | /v2/rest/query |
Requête v2 | POST | /v2/rest/query |
Gestion | POST | /v1/rest/mgmt |
Par exemple, pour envoyer une commande de gestion (« gestion ») à un point de terminaison de service, utilisez la ligne de requête suivante :
POST https://help.kusto.windows.net/v1/rest/mgmt HTTP/1.1
Consultez ci-dessous pour connaître les en-têtes et le corps de la demande à inclure.
En-têtes de requête
Le tableau suivant contient les en-têtes courants utilisés pour les opérations de requête et de gestion.
En-tête standard | Description | Obligatoire ou facultatif |
---|---|---|
Accept |
Paramètre à définir sur application/json |
Obligatoire |
Accept-Encoding |
Les encodages pris en charge sont gzip et deflate |
Facultatif |
Authorization |
Voir Authentification | Obligatoire |
Connection |
Nous vous recommandons d’activer Keep-Alive |
Facultatif |
Content-Length |
Nous vous recommandons de spécifier la longueur du corps de la demande lorsqu’elle est connue | Facultatif |
Content-Type |
Définir sur application/json avec charset=utf-8 |
Obligatoire |
Expect |
Peut être défini sur 100-Continue |
Facultatif |
Host |
Définissez sur le nom de domaine qualifié auquel la demande a été envoyée (par exemple, help.kusto.windows.net ) |
Obligatoire |
Le tableau suivant contient les en-têtes personnalisés courants utilisés pour les opérations de requête et de gestion. Sauf indication contraire, ces en-têtes sont utilisés uniquement à des fins de télémétrie et n’ont aucun impact sur les fonctionnalités.
Tous les en-têtes sont facultatifs. Nous vous recommandons de spécifier l’en-tête x-ms-client-request-id
personnalisé.
Dans certains scénarios, comme l’annulation d’une requête en cours d’exécution, cet en-tête est requis, car il est utilisé pour identifier la requête.
En-tête personnalisé | Description |
---|---|
x-ms-app |
Nom (convivial) de l’application qui effectue la demande |
x-ms-user |
Nom (convivial) de l’utilisateur qui effectue la demande |
x-ms-user-id |
Identique à x-ms-user |
x-ms-client-request-id |
Identificateur unique pour la demande |
x-ms-client-version |
Identificateur de version (convivial) pour le client qui effectue la demande |
x-ms-readonly |
Si spécifié, force l’exécution de la demande en mode lecture seule, ce qui l’empêche d’apporter des modifications durables |
Paramètres de la demande
Les paramètres suivants peuvent être transmis dans la requête. Ils sont encodés dans la requête en tant que paramètres de requête ou dans le corps, selon que GET ou POST est utilisé.
Paramètre | Description | Obligatoire ou facultatif |
---|---|---|
csl |
Texte de la requête ou de la commande de gestion à exécuter | Obligatoire |
db |
Nom de la base de données dans l’étendue qui est la cible de la requête ou de la commande de gestion | Facultatif pour certaines commandes de gestion. Obligatoire pour les autres commandes et toutes les requêtes. |
properties |
Fournit des propriétés de requête qui modifient la façon dont la demande est traitée et ses résultats. Pour plus d’informations, consultez Propriétés de la demande | Facultatif |
Paramètres de requête GET
Lorsque GET est utilisé, les paramètres de requête de la requête spécifient les paramètres de la requête.
Corps
Lorsque POST est utilisé, le corps de la requête est un seul document JSON encodé en UTF-8, avec les valeurs des paramètres de la requête.
Exemples
Cet exemple montre la requête HTTP POST pour une requête.
POST https://help.kusto.windows.net/v2/rest/query HTTP/1.1
En-têtes de requête
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
Corps de la demande
{
"db":"Samples",
"csl":"print Test=\"Hello, World!\"",
"properties":"{\"Options\":{\"queryconsistency\":\"strongconsistency\"},\"Parameters\":{},\"ClientRequestId\":\"MyApp.Query;e9f884e4-90f0-404a-8e8b-01d883023bf1\"}"
}
Cet exemple montre comment créer une requête qui envoie la requête ci-dessus à l’aide de curl.
Obtenez un jeton pour l’authentification.
Remplacez
AAD_TENANT_NAME_OR_ID
,AAD_APPLICATION_ID
etAAD_APPLICATION_KEY
par les valeurs appropriées, après avoir configuré Microsoft Entra’authentification d’applicationcurl "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"
Cet extrait de code vous fournira le jeton du porteur.
{ "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" }
Utilisez le jeton du porteur dans votre demande au point de terminaison de requête.
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
Lisez la réponse en fonction de cette spécification.
Définir les propriétés de la requête cliente et les paramètres de requête
Dans l’exemple de corps suivant, la requête dans le csl
champ déclare deux paramètres nommés n
et d
. Les valeurs de ces paramètres de requête sont spécifiées dans le Parameters
champ sous le properties
champ dans le corps de la requête. Le Options
champ définit les propriétés de la requête cliente.
Notes
Les paramètres non-chaîne et non longs doivent être exprimés en tant que littéraux KQL au format chaîne.
{
"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\"])"
}
}
}
Pour plus d’informations, consultez Paramètres de requête.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour