HTTP-запрос приема потоковой передачи

Команда запроса и ресурс

Действие HTTP-команда Ресурс HTTP
Прием POST /v1/rest/ingest/{database}/{table}?{additional parameters}

Параметры запроса

Параметр Описание Обязательный/необязательный
{database} Имя целевой базы данных для запроса на прием Обязательно
{table} Имя целевой таблицы для запроса на прием Обязательно

Дополнительные параметры

Дополнительные параметры форматируются как пары запросов {name}={value} URL-адресов, разделенные символом &.

Параметр Описание Обязательный/необязательный
streamFormat Задает формат данных в тексте запроса. Значение должно быть одним из следующих значений: CSV, TSV, SCsv, SOHsv, PSV, JSON, MultiJSON, . Avro Дополнительные сведения см. в разделе Поддерживаемые форматы данных. Обязательно
mappingName Имя предварительно созданного сопоставления приема, определенного в таблице. Дополнительные сведения см. в разделе Сопоставления данных. Способ управления предварительно созданными сопоставлениями в таблице описан здесь. Необязательный, но обязательный, если streamFormat имеет значение JSON, MultiJSONили Avro

Например, для приема данных в формате CSV в таблицу Logs в базе данных Testиспользуйте:

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

Для приема данных в формате JSON с предварительно созданным сопоставлением mylogmappingиспользуйте:

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

Заголовки запросов

В следующей таблице приведены общие заголовки для операций запроса и управления.

Стандартный заголовок Описание Обязательный/необязательный
Accept Присвойте этому значению значение application/json. Необязательно
Accept-Encoding Поддерживаемые кодировки: gzip и deflate. Необязательно
Authorization См. раздел Проверка подлинности. Обязательно
Connection Включите Keep-Alive. Необязательно
Content-Length Укажите длину текста запроса, если она известна. Необязательно
Content-Encoding Для задано значение gzip , но текст должен быть сжатым с помощью gzip Необязательно
Expect Задайте значение 100-Continue. Необязательно
Host Задайте для значения доменное имя, на которое вы отправили запрос (например, help.kusto.windows.net). Обязательно

В следующей таблице приведены общие настраиваемые заголовки для операций запроса и управления. Если не указано иное, заголовки предназначены только для телеметрии и не влияют на функциональные возможности.

Настраиваемый заголовок Описание Обязательный/необязательный
x-ms-app (понятное) имя приложения, выполняющего запрос. Необязательно
x-ms-user (понятное) имя пользователя, выполняющего запрос. Необязательно
x-ms-user-id Эквивалентно x-ms-user. Необязательно
x-ms-client-request-id Уникальный идентификатор запроса. Необязательно
x-ms-client-version (понятный) идентификатор версии для клиента, выполняющего запрос. Требуется в сценариях, где он используется для идентификации запроса, например отмены выполняемого запроса. Необязательный/Обязательный

Текст

Тело — это фактические данные для приема. Текстовые форматы должны использовать кодировку UTF-8.

Примеры

В следующем примере показан HTTP-запрос POST для приема содержимого JSON:

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

Заголовки запроса:

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

Тело запроса:

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

В следующем примере показан HTTP-запрос POST для приема одинаковых сжатых данных.

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

Заголовки запроса:

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

Тело запроса:

... binary data ...