Partager via


Requête HTTP d’ingestion en streaming

Verbe et ressource de requête

Action Verbe HTTP Ressource HTTP
Ingérer POST /v1/rest/ingest/{database}/{table}?{additional parameters}

Paramètres de la demande

Paramètre Description Obligatoire ou facultatif
{database} Nom de la base de données cible pour la demande d’ingestion Obligatoire
{table} Nom de la table cible pour la demande d’ingestion Obligatoire

Paramètres supplémentaires

Les paramètres supplémentaires sont mis en forme en tant que paires de requête {name}={value} d’URL, séparées par le caractère &.

Paramètre Description Obligatoire ou facultatif
streamFormat Spécifie le format des données dans le corps de la demande. La valeur doit être : CSV, TSV, SCsv, SOHsv, PSV, JSON, MultiJSONAvro. Pour plus d’informations, consultez Formats de données pris en charge. Obligatoire
mappingName Nom du mappage d’ingestion précréé défini sur la table. Pour plus d’informations, consultez Mappages de données. La façon de gérer les mappages précréé sur la table est décrite ici. Facultatif, mais Obligatoire si streamFormat est l’un des JSON, MultiJSONou Avro

Par exemple, pour ingérer des données au format CSV dans une table Logs dans la base de données Test, utilisez :

POST https://help.kusto.windows.net/v1/rest/ingest/Test/Logs?streamFormat=Csv HTTP/1.1

Pour ingérer des données au format JSON avec un mappage mylogmappingprécréé, utilisez :

POST https://help.kusto.windows.net/v1/rest/ingest/Test/Logs?streamFormat=Json&mappingName=mylogmapping HTTP/1.1

En-têtes de requête

Le tableau suivant contient les en-têtes courants pour les opérations de requête et de gestion.

En-tête standard Description Obligatoire ou facultatif
Accept Définissez cette valeur sur application/json. Facultatif
Accept-Encoding Les encodages pris en charge sont gzip et deflate. Facultatif
Authorization Consultez Authentification. Obligatoire
Connection Activez Keep-Alive. Facultatif
Content-Length Spécifiez la longueur du corps de la demande, lorsqu’elle est connue. Facultatif
Content-Encoding Défini sur gzip , mais le corps doit être gzip-compressed Facultatif
Expect Défini sur 100-Continue. Facultatif
Host Définissez sur le nom de domaine auquel vous avez envoyé la demande (par exemple, help.kusto.windows.net). Obligatoire

Le tableau suivant contient les en-têtes personnalisés courants pour les opérations de requête et de gestion. Sauf indication contraire, les en-têtes sont à des fins de télémétrie uniquement et n’ont aucun impact sur les fonctionnalités.

En-tête personnalisé Description Obligatoire ou facultatif
x-ms-app Nom (convivial) de l’application qui effectue la demande. Facultatif
x-ms-user Nom (convivial) de l’utilisateur qui effectue la demande. Facultatif
x-ms-user-id Comme pour x-ms-user. Facultatif
x-ms-client-request-id Identificateur unique de la requête. Facultatif
x-ms-client-version Identificateur de version (convivial) pour le client qui effectue la demande. Obligatoire dans les scénarios, où il est utilisé pour identifier la requête, comme l’annulation d’une requête en cours d’exécution. Facultatif/obligatoire

Corps

Le corps est les données réelles à ingérer. Les formats textuels doivent utiliser l’encodage UTF-8.

Exemples

L’exemple suivant montre la requête HTTP POST pour l’ingestion de contenu JSON :

POST https://help.kusto.windows.net/v1/rest/ingest/Test/Logs?streamFormat=Json&mappingName=mylogmapping HTTP/1.1

En-têtes de requête :

Authorization: Bearer ...AzureActiveDirectoryAccessToken...
Accept-Encoding: deflate
Accept-Encoding: gzip
Connection: Keep-Alive
Content-Length: 161
Host: help.kusto.windows.net
x-ms-client-request-id: MyApp.Ingest;5c0656b9-37c9-4e3a-a671-5f83e6843fce
x-ms-user-id: alex@contoso.com
x-ms-app: MyApp

Corps de la requête :

{"Timestamp":"2018-11-14 11:34","Level":"Info","EventText":"Nothing Happened"}
{"Timestamp":"2018-11-14 11:35","Level":"Error","EventText":"Something Happened"}

L’exemple suivant montre la requête HTTP POST pour ingérer les mêmes données compressées.

POST https://help.kusto.windows.net/v1/rest/ingest/Test/Logs?streamFormat=Json&mappingName=mylogmapping HTTP/1.1

En-têtes de requête :

Authorization: Bearer ...AzureActiveDirectoryAccessToken...
Accept-Encoding: deflate
Accept-Encoding: gzip
Connection: Keep-Alive
Content-Length: 116
Content-Encoding: gzip
Host: help.kusto.windows.net
x-ms-client-request-id: MyApp.Ingest;5c0656b9-37c9-4e3a-a671-5f83e6843fce
x-ms-user-id: alex@contoso.com
x-ms-app: MyApp

Corps de la requête :

... binary data ...