HTTP-Anforderung (Abfrage/Verwaltung)
Anfordern von Verb und Ressource
Aktion | HTTP-Verb | HTTP-Ressource |
---|---|---|
Abfrage | GET | /v1/rest/query |
Abfrage | POST | /v1/rest/query |
Abfrage v2 | GET | /v2/rest/query |
Abfrage v2 | POST | /v2/rest/query |
Verwaltung | POST | /v1/rest/mgmt |
Um beispielsweise einen Verwaltungsbefehl ("verwaltung") an einen Dienstendpunkt zu senden, verwenden Sie die folgende Anforderungszeile:
POST https://help.kusto.windows.net/v1/rest/mgmt HTTP/1.1
Im Folgenden finden Sie die einzufügenden Anforderungsheader und den Text.
Anforderungsheader
Die folgende Tabelle enthält die allgemeinen Header, die für Abfrage- und Verwaltungsvorgänge verwendet werden.
Standardheader | BESCHREIBUNG | Erforderlich/Optional |
---|---|---|
Accept |
Legen Sie den Wert application/json |
Erforderlich |
Accept-Encoding |
Unterstützte Codierungen sind gzip und deflate |
Optional |
Authorization |
Weitere Informationen finden Sie unter Authentifizierung. | Erforderlich |
Connection |
Es wird empfohlen, dass Sie Keep-Alive |
Optional |
Content-Length |
Es wird empfohlen, die Länge des Anforderungstexts anzugeben, wenn sie bekannt ist. | Optional |
Content-Type |
Festlegen auf application/json mit charset=utf-8 |
Erforderlich |
Expect |
Kann auf festgelegt werden 100-Continue |
Optional |
Host |
Legen Sie auf den qualifizierten Domänennamen fest, help.kusto.windows.net an den die Anforderung gesendet wurde (z. B. ). |
Erforderlich |
Die folgende Tabelle enthält die allgemeinen benutzerdefinierten Header, die für Abfrage- und Verwaltungsvorgänge verwendet werden. Sofern nicht anders angegeben, werden diese Header nur zu Telemetriezwecken verwendet und haben keine Auswirkungen auf die Funktionalität.
Alle Header sind optional. Es wird empfohlen, den x-ms-client-request-id
benutzerdefinierten Header anzugeben.
In einigen Szenarien, z. B. beim Abbrechen einer ausgeführten Abfrage, ist dieser Header erforderlich, da er verwendet wird, um die Anforderung zu identifizieren.
Benutzerdefinierter Header | BESCHREIBUNG |
---|---|
x-ms-app |
Der (Anzeige-)Name der Anwendung, die die Anforderung stellt. |
x-ms-user |
Der (Anzeige-)Name des Benutzers, der die Anforderung stellt |
x-ms-user-id |
Identisch mit x-ms-user |
x-ms-client-request-id |
Ein eindeutiger Bezeichner für die Anforderung |
x-ms-client-version |
Der (benutzerfreundliche) Versionsbezeichner für den Client, der die Anforderung stellt. |
x-ms-readonly |
Wenn angegeben, erzwingt die Anforderung die Ausführung im schreibgeschützten Modus, sodass keine lang andauernden Änderungen vorgenommen werden. |
Anforderungsparameter
Die folgenden Parameter können in der Anforderung übergeben werden. Sie werden in der Anforderung als Abfrageparameter oder als Teil des Texts codiert, je nachdem, ob GET oder POST verwendet wird.
Parameter | BESCHREIBUNG | Erforderlich/Optional |
---|---|---|
csl |
Text der auszuführenden Abfrage oder des Verwaltungsbefehls | Erforderlich |
db |
Name der Datenbank im Bereich, der das Ziel der Abfrage oder des Verwaltungsbefehls ist | Optional für einige Verwaltungsbefehle. Erforderlich für andere Befehle und alle Abfragen. |
properties |
Stellt Anforderungseigenschaften bereit, die die Verarbeitung der Anforderung und deren Ergebnisse ändern. Weitere Informationen finden Sie unter Anforderungseigenschaften. | Optional |
GET-Abfrageparameter
Wenn GET verwendet wird, geben die Abfrageparameter der Anforderung die Anforderungsparameter an.
Text
Wenn POST verwendet wird, ist der Text der Anforderung ein einzelnes JSON-Dokument, das in UTF-8 codiert ist, mit den Werten der Anforderungsparameter.
Beispiele
Dieses Beispiel zeigt die HTTP POST-Anforderung für eine Abfrage.
POST https://help.kusto.windows.net/v2/rest/query HTTP/1.1
Anforderungsheader
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
Anforderungstext
{
"db":"Samples",
"csl":"print Test=\"Hello, World!\"",
"properties":"{\"Options\":{\"queryconsistency\":\"strongconsistency\"},\"Parameters\":{},\"ClientRequestId\":\"MyApp.Query;e9f884e4-90f0-404a-8e8b-01d883023bf1\"}"
}
In diesem Beispiel wird gezeigt, wie Sie mithilfe von curl eine Anforderung erstellen, die die obige Abfrage sendet.
Rufen Sie ein Token für die Authentifizierung ab.
Ersetzen Sie
AAD_TENANT_NAME_OR_ID
,AAD_APPLICATION_ID
undAAD_APPLICATION_KEY
durch die relevanten Werte, nachdem Sie Microsoft Entra Anwendungsauthentifizierung eingerichtet haben.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"
In diesem Codeausschnitt erhalten Sie das Bearertoken.
{ "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" }
Verwenden Sie das Bearertoken in Ihrer Anforderung an den Abfrageendpunkt.
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
Lesen Sie die Antwort gemäß dieser Spezifikation.
Festlegen von Clientanforderungseigenschaften und Abfrageparametern
Im folgenden Beispieltext deklariert die Abfrage im csl
Feld zwei Parameter mit dem Namen n
und d
. Die Werte für diese Abfrageparameter werden im Parameters
Feld unter dem properties
Feld im Anforderungstext angegeben. Das Options
Feld definiert Clientanforderungseigenschaften.
Hinweis
Nicht-Zeichenfolgen- und nicht lange Parameter müssen als KQL-Literale im Zeichenfolgenformat ausgedrückt werden.
{
"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\"])"
}
}
}
Weitere Informationen finden Sie unter Abfrageparameter.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für