1

Azure имеет очень полезные инструменты командной строки, которые, среди прочего, могут извлекать журналы из службы мобильной связи. как это:Azure mobile log query

azure mobile log SERVICE_NAME 

Эта команда имеет --query вариант, где вы можете пройти «запрос журнала».

Я сомневаюсь, что эта функция может быть очень полезной, но не могла найти дополнительной информации об этом. Выход справки говорит только log query; takes precedence over --type, --continuationToken, and --top. В онлайн-документации написано не так много.

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

ответ

2

Я нашел ответ на этот вопрос, посмотрев исходный код для инструментов командной строки (, строки 1574-1621 и 258-288). Три параметра (--top, --continuationToken, --type) преобразуются в параметры строки запроса, которые отправляются службе. Параметр -top непосредственно ссылается на параметр $top, --continuationToken отображает непосредственно на continuationToken, а -type сопоставляет параметр $filter с предикатом о поле «тип».

Например, эта команда (строка-каналы добавлены для ясности)

azure mobile log SERVICE_NAME --top 5 
           --continuationToken <the cont token> 
           --type information 

То же самое, (линия-каналов добавлены для ясности)

azure mobile log SERVICE_NAME --query "$top=5& 
             continuationToken=<the cont token>& 
             $filter=type eq 'information'" 

Возможность запроса весьма ограничена, но вы можете делать такие вещи, как type ne 'information' (не равно), или Source eq '/table/mytablename.insert.js' (запрос на другие предметы, кроме типа).

+0

Спасибо @carlosfigueira. Извините, я не мог вернуться к этому вопросу в течение некоторого времени. Кажется, это работает, но я все еще не мог сделать то, что мне нужно. 'azure mobile log SERVICE_NAME --query '$ top = 3 & continuationToken = 2520316853846039999-3066e04f-b0e2-4798-8061-b1e1822bfeb7'' работает должным образом, но' azure mobile log SERVICE_NAME --query' $ top = 3 & $ filter = type eq '' 'information' "' дает 'Нет соответствующих записей в журнале, когда они должны быть. (Я использую немного другое цитирование, потому что я делаю это с mac и «$ top» пытается дать значение переменной среды). –

+0

Я связал несколько разных вариантов, таких как: 'azure mobile log SERVICE_NAME --query '$ top = 3 & $ filter = type eq" information "' и' azure mobile log SERVICE_NAME --query '$ top = 3 & $ filter = type eq information'', но на этот раз я получаю 'сервер обнаружил внутреннюю ошибку. Повторите запрос. –

+0

На самом деле, моя цель - фильтровать исходные файлы (потому что все остальное я могу сделать с параметрами командной строки). Я пытаюсь выполнить следующее: 'azure mobile log SERVICE_NAME --query '$ top = 3 & $ filter = source eq'" '/scheduler/executeBackgroundJobs.js' "' и снова получить 'Нет соответствующих записей журнала'. –