Looker 擴充功能架構

Looker 擴充功能架構是一種開發架構,可大幅減少建構自訂 JavaScript 資料應用程式和工具所需的工作量和複雜度,例如:

  • 貴公司的內部平台應用程式
  • 客戶使用的外部平台,例如以 Looker 資料建構的嵌入式數據分析應用程式客戶入口網站
  • 目標內部工具
  • 可嵌入外部應用程式的應用程式

Looker Marketplace 目前提供的 Looker 擴充功能範例包括 Looker Data DictionaryLookML Diagram

為什麼要使用擴充功能架構?

建構網頁應用程式的某些部分簡單有趣,其他部分則顯然較耗時,而且不怎麼有趣。擴充功能架構可簡化許多這類不有趣的工作,協助您完成這些任務。

擴充功能架構會處理建構網頁應用程式時較為繁瑣的部分,讓您專心開發。您可以在 Looker 中存取使用擴充功能架構建立的自訂應用程式和工具,讓 Looker 處理下列類型的工作,例如:

擴充功能架構功能

Looker 擴充功能架構包含下列功能:

  • Looker 擴充功能 SDK,提供 Looker 公用 API 存取和在 Looker 環境中互動的功能。
  • Looker 元件:預先建構的 React UI 元件程式庫,可在擴充功能中使用。
  • Embed SDK:這個程式庫可用於在擴充功能中嵌入資訊主頁、Look 和探索。如需程式碼範例,請參閱廚房水槽擴充功能。您也可以使用 Embed SDK,將擴充功能嵌入第三方應用程式。將探索、Look 或資訊主頁嵌入擴充功能時,必須在瀏覽器中啟用 Cookie。
  • create-looker-extension 公用程式:可建立基本擴充功能,其中包含所有必要的擴充功能檔案和依附元件,您可做為建構擴充功能的起點。
  • 我們的 Looker 擴充功能架構範例存放區,內含範本和擴充功能範例,可協助您快速上手。
  • 能夠存取第三方 API 端點,並將第三方資料新增至擴充功能。
  • 在 Looker 中建立全螢幕擴充功能的權限。全螢幕擴充功能可用於內部或外部平台應用程式。

    在全螢幕擴充功能中,您可以將使用者新增至「僅限擴充功能」使用者群組,禁止特定使用者從擴充功能前往 Looker 的其他部分。您也可以在擴充功能網址中將 /extensions 替換為 /spartan,移除 Looker 導覽列。

  • 您可以設定擴充功能的存取金鑰,使用者必須輸入金鑰才能執行擴充功能。如果您想對擴充功能收費,這項功能就很有用,但您應該使用標準 Looker 權限,限制使用者存取擴充功能。

  • 從 Looker 24.0 開始,開發人員可以開發擴充功能,在資訊主頁的圖塊中執行。如果擴充功能支援以圖塊或視覺化形式執行,您可以在資訊主頁處於編輯模式時新增擴充功能,也可以從探索中將擴充功能儲存至資訊主頁,做為視覺化項目。您也可以在 LookML 資訊主頁中,將擴充功能設定為圖塊。

擴充功能架構規定

如要使用 Looker 擴充功能架構進行開發,請按照下列步驟操作:

  • 您需要執行個體的 LookML 開發人員權限。
  • Looker 管理員必須啟用「擴充功能架構」功能。
  • 建議您熟悉 JavaScript 或 TypeScript。
  • 我們建議使用 React 開發,但也有適用於原始 JavaScript 的擴充功能 SDK

如要在 Looker 中執行,無論功能為何,每個擴充功能都必須在 Looker 中包含下列元素:

  • 符合下列條件的 LookML 專案

  • 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 擴充架構開發

最簡單的入門方式是先從範本產生新的入門擴充功能,然後自訂並新增該入門擴充功能的功能。這可確保所有設定和封裝作業都正確無誤,手動操作時可能難以做到。如要瞭解如何為擴充功能建立新的 Looker 專案,並產生入門擴充功能,請參閱「建構 Looker 擴充功能」說明文件頁面。

如需更多自訂或進階範本,請瀏覽 Looker 擴充功能架構範例存放區。您可以複製該存放區中的任何擴充功能,並重新用於專案的起點。

建立基本擴充功能並確認一切運作正常後,即可開始新增其他功能和自訂項目:

  • 如要查看常見用途的清單和程式碼範例,請參閱「Looker 擴充功能架構程式碼範例」說明文件頁面。

  • 請參閱 Looker UI 元件網站,使用我們的元件程式庫快速開發 UI 和版面配置。

  • Looker 擴充功能 Kitchensink 範本是擴充功能,提供各種擴充功能函式的範例。你可以將這個範本當做百科全書或參考指南,但不能做為起點或實際範本。建議您使用擴充功能產生器,或複製其中一個較基本的範例來開始。

  • 我們也提供可做為資訊主頁方塊的擴充功能範例。圖塊視覺化擴充功能說明如何使用擴充功能架構建構自訂視覺化效果。圖塊 SDK 擴充功能會顯示圖塊擴充功能專用的可用 API 方法。