Запрашивая аналитику журнала, чтобы он возвращал список всех имен таблиц - PullRequest
1 голос
/ 25 марта 2019

Я использую Python для вызова запросов к моей рабочей области Azure Log Analytics. Чтобы обеспечить максимальную масштабируемость, я хотел бы реализовать запрос, который возвращает все имена таблиц в моей рабочей области Log Analytics. По сути, я хотел бы сгенерировать список всех имен таблиц, чтобы я мог делать вызовы к ним позже в моем скрипте на python.

Я пробовал несколько разных запросов. Например:

Search * | distinct $table

Вместо получения списка таблиц, таких как:

[
  {
    "$table": "ExampleTable"
  }
]

Я получаю сообщение об ошибке:

{'error': 
    {
           'message': 'The request had some invalid properties', 'code': 'BadArgumentError', 'innererror': 
           {
               'code': 'SyntaxError', 'message': 'Syntax Error'
           }
    }
}

Любые предложения / примеры будут с благодарностью. Спасибо!

ОБНОВЛЕНИЕ:

После того, как я снова посетил веб-сайт API REST API Azure Log Analytics, я решил потратить некоторое время на работу со встроенным инструментом обозревателя API. Именно там я смог успешно запросить пример рабочей области для списка таблиц. Я смог сделать это, используя несколько разных запросов:

search * | distinct $table
search * | distinct Type

Несмотря на то, что оба эти запроса отлично работали в среде примера, они оба продолжают вызывать ошибки в моей среде. Как мое приложение на Python, так и Azure LogicApp продолжают получать синтаксические ошибки всякий раз, когда я отправляю один и тот же запрос, который возвращает отличные результаты в обозревателе API. Я продолжаю быть пораженным этой проблемой. Вот сайт для API Explorer для тех, кто хотел бы проверить это: https://dev.loganalytics.io/apiexplorer/query?appId=DEMO_WORKSPACE&apiKey=DEMO_KEY

Также, чтобы ответить на очевидный вопрос: да, остальная часть соединения API установлена ​​правильно. Я могу и действительно успешно выполнять другие запросы, как в приложении Python, так и в рабочем процессе LogicApp. Похоже, именно это вызывает у меня проблемы.

Наконец, если это помогает, это сообщение об ошибке, которое я продолжаю получать всякий раз, когда делаю запрос:

{'error': {'message': 'The request had some invalid properties', 'code': 'BadArgumentError', 'innererror': {'code': 'SyntaxError', 'message': 'Syntax Error'}}}

Ответы [ 2 ]

0 голосов
/ 31 марта 2019

Я не копал глубоко, но это определенно похоже на проблему с пониманием Python '$' в вашем запросе.Возможно, нам придется явно вызывать API так, чтобы в этом сценарии мы указывали Python экранировать «$».

Однако вы можете использовать приведенный ниже запрос для выполнения вашего требования.

search * | distinct Type

Еще одно замечание: язык запросов Log Analytics изменился на более новую версию, поэтому убедитесь, что вы используете последний доступный API.Новая документация API доступна на https://dev.loganalytics.io/

Надеюсь, это поможет!Приветствия !!

Примечание. Если вы считаете, что на ваш вопрос ответили, то, пожалуйста, примите его, если вам только что помогли, затем нажмите «Этот ответ полезен» и проведите голосование.Это может быть полезно для других участников сообщества, читающих эту ветку.

0 голосов
/ 25 марта 2019

Что касается части вопроса на языке запросов Кусто, Search должно быть search (строчные буквы s)

...