Power Query + Elasticsearch Scroll API. Запрос не выполнен с ошибкой 406 - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь отправить запрос, чтобы получить данные изasticsearch с помощью Scroll API. При отправке запроса от PowerBi я получаю эту ошибку:

Web.Contents не удалось получить содержимое из 'http://localhost: 9200 / kibana_sample_data_ecommerce / _search? Scroll = 1m ' (406): нет Приемлемо

Вот код:

let
    RecursiveElasticFetch = (url, scrollURL, urlBody, scrollBody, scrollID, counter, scrollEND) =>

    let
        Counter = if (counter = null) then 0 else counter,
        Results = if (scrollID = null) then
            Json.Document(Web.Contents(url,[Content = Text.ToBinary(urlBody)]))
        else
            Json.Document(Web.Contents(scrollURL,[Content = Text.ToBinary(scrollBody&scrollID&scrollEND)])),
        ParsedResults = Table.FromList(Results[hits][hits], Splitter.SplitByNothing(), null, null, ExtraValues.Error),

        Return = if (Counter < 10) then
            ParsedResults & RecursiveElasticFetch(url, scrollURL, urlBody, scrollBody, Results[_scroll_id], Counter+1, scrollEND)
        else
            ParsedResults
    in
        Return
in
    RecursiveElasticFetch
let
    url = "http://localhost:9200/kibana_sample_data_ecommerce/_search?scroll=1m",
    scrollURL = "http://localhost:9200/_search/scroll",
    urlBody = "{""size"":10000,""query"":{""match_all"":{}}}",
    scrollBody = "{""scroll"":""10m"",""scroll_id"":""",
    scrollID = null,
    counter = null,
    scrollEND = """}",
    Source = RecursiveElasticFetch(url, scrollURL, urlBody, scrollBody, scrollID, counter, scrollEND)
in
    Source
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...