簡體   English   中英

Azure 監控工作簿查詢 - 從 Azure REST API Synapse 數據平面檢索數據

[英]Azure Monitor Workbook Query - retrieve data from Azure REST API Synapse Data Plane

trying to build a Workbook retrieving data from Azure REST API about Synapse Pipelines , which belongs to another endpoint ( https://dev.azuresynapse.net ) not like Azure Resource Manager API ( https://management.azure.com ). 在 Monitor Workbook 查詢中,有一個特殊的數據源“Azure Resource Manager”,用於 Azure RM API,它非常適合我,因為內置了身份驗證/授權(在后台工作)。 然而,對於 Synapse 數據平面 API(由於另一個端點)最終需要使用“自定義端點”查詢數據源。 此處必須預先從https://login.microsoftonline.com/{tenantId}/oauth2/token 單獨請求承載(訪問)令牌。 如果我嘗試通過一個單獨的查詢來實現它,它不起作用,因為 CORS(見附圖),login.microsoftonline.com 不支持(該請求可能通過 AJAX 工作)。Synapse 的相同構造在Postman。誰能告訴我如何在工作簿中實現這樣的 API 請求?

問候伊萬

訪問令牌請求查詢(錯誤消息)

這是當今工作簿中不直接支持的重要事情。

Azure 門戶本身在各種擴展/資源提供者之間進行身份驗證的方式使得許多小細節可以讓這樣的交叉身份驗證工作。

我將跟進 Synapse 團隊,看看這對我們來說是否/多么容易實施。 一旦該身份驗證可用,我們就需要在工作簿中編寫自定義數據源。 (我相信我們已經要求他們可能通過 ARM 公開這些數據以擺脫這些額外的要求)如果您有具體的場景/示例,您可以通過 email 跟進嗎? jgardner@MS

對於您的 CORS 相關的事情,如果您 go 到該屏幕截圖的標題選項卡並選中刪除所有額外標題的框,您可能能夠克服該錯誤? 它可能會拒絕 CORS 請求,因為它沒有預期的額外標頭?

我找到了一種解決方法,可以使用 Azure Monitor Workbook 自定義端點(查詢數據源)從突觸工作區(觸發器、管道、linkedServices 等)檢索配置數據。 僅當您的突觸工作區通過 Azure DevOps 服務鏈接到 git 時才適用。 在這種情況下,您可以使用 Azure DevOps API 獲取與生產環境相關的配置信息,如下所示:

https://dev.azure.com/{organization}/_apis/git/repositories/{repositoryId}/items?scopePath={Path}/TemplateForWorkspace.json&version=workspace_publish&download=true&api-version=6.0&Authorization Basic=BASE64PATSTRING

為此,您必須在 DevOps 端發行令牌。 CORS 策略對於此類請求不是問題,因為它是 GET 而不是 PUT 一個

另一種解決方法是基於這樣的假設,即突觸工作區配置很少更改,並且它在監控工具(工作簿)中的表示與前一天(昨天)相關。 這可以通過應用程序 Function 以相同的方式(如前所述)從突觸工作區 REST API 獲取數據並將其寫入應用程序日志(例如使用特定標簽)來實現。 然后工作簿可以取最近的日志記錄(來自Application Insights)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM