HTTP-Anforderung (Abfrage/Verwaltung)
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer
Anforderungsverb 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 |
Wenn Sie beispielsweise einen Verwaltungsbefehl ("Verwaltung") an einen Dienstendpunkt senden möchten, verwenden Sie die folgende Anforderungszeile:
POST https://help.kusto.windows.net/v1/rest/mgmt HTTP/1.1
Weitere Informationen dazu finden Sie unter Anforderungsheader und Textkörper .
Anforderungsheader
Die folgende Tabelle enthält die allgemeinen Header, die für Abfrage- und Verwaltungsvorgänge verwendet werden.
Standardheader | Beschreibung | Erforderlich/Optional |
---|---|---|
Accept |
Die Medientypen, die der Client empfängt. Auf application/json festlegen. |
Erforderlich |
Accept-Encoding |
Die unterstützten Inhaltscodierungen. Unterstützte Codierungen sind gzip und deflate . |
Optional |
Authorization |
Die Authentifizierungsanmeldeinformationen. Weitere Informationen finden Sie unter Authentifizierung. | Erforderlich |
Connection |
Gibt an, ob die Verbindung nach dem Vorgang geöffnet bleibt. Die Empfehlung ist, Connection auf .Keep-Alive |
Optional |
Content-Length |
Die Größe des Anforderungstexts. Geben Sie die Länge des Anforderungstexts an, wenn bekannt. | Optional |
Content-Type |
Der Medientyp des Anforderungstexts. Festgelegt auf application/json " mit charset=utf-8 . |
Erforderlich |
Expect |
Die erwartete Antwort vom Server. Sie kann auf 100-Continue . |
Optional |
Host |
Der qualifizierte Domänenname, an den die Anforderung gesendet wurde. Beispiel: help.kusto.windows.net . |
Erforderlich |
Die folgende Tabelle enthält die allgemeinen benutzerdefinierten Header, die für Abfrage- und Verwaltungsvorgänge verwendet werden. Sofern nicht angegeben, werden diese Header nur für Telemetriezwecke verwendet und wirken sich nicht auf die Funktionalität aus.
Alle Kopfzeilen sind optional. Es wird jedoch empfohlen, den x-ms-client-request-id
benutzerdefinierten Header anzugeben.
In einigen Szenarien, z. B. das Abbrechen einer ausgeführten Abfrage, ist erforderlich, x-ms-client-request-id
da sie zum Identifizieren der Anforderung verwendet wird.
Benutzerdefinierter Header | Beschreibung |
---|---|
x-ms-app |
Der Anzeigename der Anwendung, die die Anforderung stellt. |
x-ms-user |
Der Anzeigename des Benutzers, der die Anforderung anfordert. |
x-ms-user-id |
Derselbe Anzeigename wie 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 anfordert. |
x-ms-readonly |
Wenn angegeben, erzwingt sie die Ausführung der Anforderung im schreibgeschützten Modus, wodurch verhindert wird, dass die Anforderung Daten ändert. |
Anforderungsparameter
Die folgenden Parameter können in der Anforderung übergeben werden. Sie werden in der Anforderung als Abfrageparameter oder als Teil des Textkörpers codiert, je nachdem, ob GET oder POST verwendet wird.
Parameter | Beschreibung | Erforderlich/Optional |
---|---|---|
csl |
Der Text des auszuführenden Abfrage- oder Verwaltungsbefehls. | Erforderlich |
db |
Der Name der Datenbank, die das Ziel des Abfrage- oder Verwaltungsbefehls ist. | Optional für einige Verwaltungsbefehle. Erforderlich für alle Abfragen und alle anderen Befehle. |
properties |
Fordern Sie Eigenschaften an, die die Verarbeitung der Anforderung und deren Ergebnisse ändern. Weitere Informationen finden Sie unter Anforderungseigenschaften. | Optional |
GET-Abfrageparameter
Wenn eine GET-Anforderung verwendet wird, geben die Abfrageparameter die Anforderungsparameter an.
Text
Wenn eine POST-Anforderung verwendet wird, enthält der Textkörper der Anforderung ein einzelnes UTF-8-codiertes JSON-Dokument, das die Werte der Anforderungsparameter enthält.
Beispiele
Das folgende 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\"}"
}
Das folgende Beispiel zeigt, wie Sie eine Anforderung erstellen, die die vorherige Abfrage mithilfe von Curl sendet.
Abrufen eines Tokens für die Authentifizierung.
Ersetzen Sie
AAD_TENANT_NAME_OR_ID
nach dem Einrichten der Microsoft Entra-Anwendungsauthentifizierung undAAD_APPLICATION_KEY
durch dieAAD_APPLICATION_ID
relevanten Werte.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"
Dieser Codeausschnitt stellt Ihnen das Bearertoken bereit.
{ "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äß den Antwortstatuscodes.
Festlegen von Clientanforderungseigenschaften und Abfrageparametern
Im folgenden Anforderungstextbeispiel deklariert die Abfrage im csl
Feld zwei Parameter namens n
und d
. Die Werte für diese Abfrageparameter werden innerhalb des Parameters
Felds 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 "Unterstützte Anforderungseigenschaften".
Befehl 'Datenbankzwischenspeicherungsrichtlinie senden' anzeigen
Im folgenden Beispiel wird eine Anforderung gesendet, um die Samples
Datenbankzwischenspeicherungsrichtlinie anzuzeigen.
{
"db": "Samples",
"csl": ".show database Samples policy caching",
"properties": {
"Options": {
"maxmemoryconsumptionperiterator": 68719476736,
"max_memory_consumption_per_query_per_node": 68719476736,
"servertimeout": "50m"
}
}
}