Looker 擴充功能架構是一種開發架構,可大幅降低建構自訂 JavaScript 資料應用程式和工具的難度和複雜度,例如:
- 貴公司的內部平台應用程式
- 客戶使用的外部平台,例如使用 Looker 資料建構的嵌入式數據分析應用程式專屬客戶入口網站
- 指定內部工具
- 可嵌入外部應用程式的應用程式
目前 Looker Marketplace 提供的 Looker 擴充功能範例包括 Looker 資料字典和 LookML 圖表。
為什麼要使用擴充功能架構?
建構網頁應用程式時,有些部分很簡單有趣,但有些部分則耗時較多,而且不太有趣。擴充功能架構可協助您簡化許多不太有趣的任務。
擴充功能架構會處理建構網頁應用程式時較繁瑣的部分,讓您可以立即開始開發。您可以透過 Looker 存取使用擴充功能架構建立的自訂應用程式和工具,讓 Looker 處理下列類型的函式,例如:
- 驗證:讓您使用 Looker 現有的驗證選項登入 (例如密碼登入、LDAP、SAML 和 OpenID Connect)。
- 存取權控管和權限管理。
- API 存取權:讓您在 Looker 中運用其他常見的開發人員資源,例如第三方 API 端點。
擴充功能架構功能
Looker 擴充功能架構包含下列功能:
- Looker Extension SDK:提供 Looker 公用 API 存取權,以及在 Looker 環境中互動的功能。
- Looker 元件:這是一個預先建構的 React UI 元件程式庫,可用於擴充功能。
- 嵌入 SDK,這是可用於在擴充功能中嵌入資訊主頁、外觀和探索的程式庫。如需程式碼範例,請參閱廚房水槽擴充功能。您也可以使用嵌入 SDK,將擴充功能嵌入第三方應用程式。將探索、Look 或資訊主頁嵌入擴充功能時,必須在瀏覽器中啟用 Cookie。
create-looker-extension
公用程式:可建立基本擴充功能,其中包含所有必要的擴充檔案和相依項目,可做為建構的起點。- 我們的 Looker 擴充功能架構範例存放區,其中包含範本和擴充功能範例,可協助您快速上手。
- 可存取第三方 API 端點,並將第三方資料新增至擴充功能。
在 Looker 中建立全螢幕擴充資料的功能。全螢幕擴充功能可用於內部或外部平台應用程式。
在全螢幕擴充功能中,您可以將使用者新增至「僅限擴充功能」使用者群組,藉此禁止他們從擴充功能前往 Looker 的其他部分。您也可以在擴充功能網址中將
/extensions
替換為/spartan
,移除 Looker 導覽列。為擴充功能設定存取金鑰,讓使用者必須輸入金鑰才能執行擴充功能。如果您想對擴充功能收費,這項功能就很實用,但您應使用標準 Looker 權限,將存取權限限制給那些不應存取擴充功能的使用者。
自 Looker 24.0 起,您可以開發擴充功能,讓其在資訊主頁的資訊方格中執行。支援以資訊方塊或圖表形式執行的擴充功能,可在資訊主頁處於編輯模式時新增,或從探索儲存至資訊主頁做為圖表。您也可以在 LookML 資訊主頁中,將額外資訊設為資訊主頁方塊。
擴充功能架構規定
如要使用 Looker 擴充功能架構進行開發,請按照下列步驟操作:
- 您必須具備 LookML 開發人員權限,才能使用執行個體。
- Looker 管理員必須啟用擴充功能架構功能。
- 建議您熟悉 JavaScript 或 TypeScript。
- 雖然有原始 JavaScript 擴充功能 SDK,但我們建議您使用 React 進行開發。
為了在 Looker 中執行,每個擴充功能 (無論其功能為何) 都必須在 Looker 中包含下列元素:
符合下列規定的 LookML 專案:
- 包含模型檔案
- 包含專案資訊清單檔案
- 是否已連結至 Git 存放區
LookML 模型檔案需要
connection
參數,指向執行個體中的有效資料庫連線。專案資訊清單檔案需要
application
參數。application
參數會為擴充功能提供標籤,告訴 Looker 擴充功能 JavaScript 的所在位置,並提供擴充功能的授權清單。授權定義擴充功能可存取的 Looker 資源。除非權限中列出 Looker 資源,否則擴充功能無法存取該資源。以下是含有
application
參數的專案資訊清單檔案範例:project_name: "super_duper_extension" application: super_duper_extension { label: "Super Duper Extension" url: "http://localhost:8080/dist/bundle.js" mount_points: { standalone: no } entitlements: { local_storage: no navigation: no new_window: no new_window_external_urls: [] use_form_submit: yes use_embeds: no use_downloads: no core_api_methods: [] external_api_urls: [] oauth2_urls: [] scoped_user_attributes: [] global_user_attributes: [] } }
詳情請參閱
application
參數說明文件頁面。
開始使用 Looker 擴充架構進行開發
最簡單的入門方式,就是先從範本產生新的 Starter 擴充功能,然後自訂並新增功能。這可確保所有設定和封裝正確無誤,而手動操作可能很難做到這一點。請參閱「建構 Looker 擴充功能」說明文件頁面,瞭解如何為擴充功能建立新的 Looker 專案,並產生初始擴充功能。
如需更多自訂或進階範本,請瀏覽 Looker 擴充功能架構範例存放區。您可以複製存放區中的任何擴充功能,並將其用於專案。
建立簡單的擴充功能並確認一切運作正常後,您就可以開始新增其他功能和自訂選項:
您可以在 Looker 擴充功能架構程式碼範例說明文件頁面中,查看常見用途的程式碼範例清單。
參考 Looker UI 元件網站,使用我們的元件程式庫快速開發 UI 和版面配置。
Looker 擴充功能廚房範本是一種擴充功能,可提供各種擴充功能的範例。您可以將這個範本做為百科全書或參考手冊使用,但不能做為起點或實際範本。建議您使用擴充功能產生器,或複製其中一個較簡單的範例來開始。
我們也提供可用於資訊主頁資訊方塊的擴充功能範例。資訊方塊示意圖擴充功能:說明如何使用擴充功能架構建立自訂示意圖。資訊方塊 SDK 擴充功能:顯示可用於資訊方塊擴充功能的 API 方法。