Looker 擴充功能架構

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

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

目前 Looker Marketplace 提供的 Looker 擴充功能範例包括 Looker 資料字典LookML 圖表

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

建構網頁應用程式時,有些部分很簡單有趣,但有些部分則耗時較多,而且不太有趣。擴充功能架構可協助您簡化許多不太有趣的任務。

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

擴充功能架構功能

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 擴充功能架構進行開發,請按照下列步驟操作:

為了在 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 擴充架構進行開發

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

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

建立簡單的擴充功能並確認一切運作正常後,您就可以開始新增其他功能和自訂選項:

  • 您可以在 Looker 擴充功能架構程式碼範例說明文件頁面中,查看常見用途的程式碼範例清單。

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

  • Looker 擴充功能廚房範本是一種擴充功能,可提供各種擴充功能的範例。您可以將這個範本做為百科全書或參考手冊使用,但不能做為起點或實際範本。建議您使用擴充功能產生器,或複製其中一個較簡單的範例來開始。

  • 我們也提供可用於資訊主頁資訊方塊的擴充功能範例。資訊方塊示意圖擴充功能:說明如何使用擴充功能架構建立自訂示意圖。資訊方塊 SDK 擴充功能:顯示可用於資訊方塊擴充功能的 API 方法。