Freigeben über


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.

  1. Abrufen eines Tokens für die Authentifizierung.

    Ersetzen Sie AAD_TENANT_NAME_OR_IDnach dem Einrichten der Microsoft Entra-Anwendungsauthentifizierung und AAD_APPLICATION_KEY durch die AAD_APPLICATION_IDrelevanten 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"
    }
    
  2. 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
    
  3. 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"
        }
    }
}