如何獲取切片(slice)屬性

獲取slice的屬性

在登錄后,打開slice(切片,為了方便理解,下文所說的切片都是slice)頁面。


切片

頁面下方會顯示出切片列表。


image.png

點擊切片的名字,進入切片配置頁面。下圖中紅框中就是切片的配置項。


image.png

我們的目的是搞清楚,配置項中的每一項在后臺存儲過程中對應的字段是什么。
由于前端頁面以接受json的形式來渲染頁面,所以,只需從后臺獲取json字符串就能了解配置項的對應字段了。

superset基于Flask開發,而flask默認約定路由相關信息都放在superset/views文件夾內,在文件夾中有一個core.py,基本上大多數路由信息都在這個文件中。
經過一番搜索(這個方法是返回json的,所以可以搜索關鍵字“json”,“result”等進行查找)之后,發現了返回json字符串的方法。
函數位置:/superset/views/core.py 1012行


image.png

然后在viz_obj變量這行打個斷點,因為我想要的信息都在這個viz_obj對象內,所以需要重點關注。接著,運行程序(開啟DEBUG模式),打開這個切片的配置頁面,發現進入了debug模式,而且程序停在斷點了,按一下F8(執行到下一句),這時debug窗口就有了viz_obj對象的詳細信息了。pycharm很智能,當我們把鼠標指針懸停在變量上3秒鐘后會彈出一個屬性框,點擊后會彈出一個如圖所示的屬性樹,這個對象的所有信息都在這里,很方便調試。


image.png

順便說一下get_viz(datasource_type, datasource_id, args)函數的3個參數。
datasource_type表示數據源類型
datasource_id表示數據源id
args是參數列表,其中就包含了我們要找的json字符串。

解析json字符串

現在我們已經拿到了json字符串,可以都寫在了一行,不易查看。
可以使用在線格式化json工具,百度“在線格式化json”。
把json字符串復制到輸入框即可,然后點擊“格式化”即可。


在線格式化json

格式化后的json如圖所示。


image.png

最后一步

按照json中的數據來對應字段,找出各個配置對應的字段是什么。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,951評論 19 139
  • 點擊查看原文 Web SDK 開發手冊 SDK 概述 網易云信 SDK 為 Web 應用提供一個完善的 IM 系統...
    layjoy閱讀 13,943評論 0 15
  • 我喜歡身邊飛過的每只鳥 也常常喜歡拂過的清風 因為我希望鳥兒伴著清風 一個帶著我的夢, 一個帶著我的愛, 不遠萬里...
    下筆落憂傷閱讀 390評論 0 2
  • 所謂計算機語言只是一個抽象的規范,而編譯器是這個規范的實現,它是在這個規范的嚴格定義下被實現的. 說的通俗一點,語...
    光劍書架上的書閱讀 1,419評論 0 2
  • 碎碎念 之前曾聽過Sara說過邊工作邊參加個人成長集訓營,是一件挺有挑戰性的事情,現在的我總算能夠切實體會到...
    吖坤要加油閱讀 431評論 2 2