1

Azure具有非常有用的命令行工具,其中可以從移動服務檢索日誌。像這樣:Azure移動日誌查詢

azure mobile log SERVICE_NAME 

此命令--query選項,您可以通過「日誌查詢」。

我懷疑這個功能可能非常有用,但是找不到任何關於它的附加信息。幫助輸出只說log query; takes precedence over --type, --continuationToken, and --top。在線文檔中沒有太多內容。

請告訴,這個選項可以做什麼以及這個「日誌查詢」的語法是什麼? 任何鏈接,我可以得到更多的信息,將不勝感激。

回答

2

我通過查看命令行工具的源代碼(https://github.com/WindowsAzure/azure-sdk-tools-xplat/blob/master/lib/commands/mobile.js,第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移動日誌SERVICE_NAME --query'$ top = 3&continuationToken = 2520316853846039999-3066e04f-b0e2-4798-8061-b1e1822bfeb7''確實按預期工作,但'azure移動日誌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'''並且再次獲得'沒有匹配的日誌條目'。 –