Looker 提供多個 API 版本,以及使用這些 API 的多個語言 SDK。本文說明 Looker API 版本和語言 SDK 的狀態和支援政策。
支援級別
Looker API 版本和 SDK 的支援程度不盡相同:
支援等級說明請參閱下文。
支援 Looker
Looker 支援這些 API 版本和語言 SDK。支援單可向 Looker 支援團隊提出,並須符合 Looker 支援指南。Looker 僅支援 API 4.0。
社群支援
這個層級僅適用於語言 SDK。問題會記錄在該 SDK 使用的 OpenSource 存放區中,並在該處進行管理。
語言 SDK 處於社群支援層級的原因如下:
- 缺少達到 Looker 支援層級所需的功能。
- Looker 必須先全面支援這項功能,才能提供更多支援和自動化基礎架構 (自動化測試、封裝、說明文件、範例等)。
- 這項技術已遭淘汰。
- 尚未經過足夠多不同使用者的測試,因此不適合從「Alpha」狀態移出。
不支援
我們不會提供支援。系統不支援 API 3.0 和 3.1 版。
API 版本
下表列出截至 Looker 22.4 為止,三種已記錄的 API 版本,並顯示其支援等級。
版本 | 支援 | 狀態 | 說明 |
---|---|---|---|
3.0 | 不支援 | 已移除 | 這項 API 已從 Looker 移除。 |
3.1 | 不支援 | 已移除 | 這項 API 已從 Looker 移除。 |
4.0 | Looker | 穩定 | 目前版本。您仍可新增端點、引數和結構體屬性。所有支援的 Looker 語言 SDK 都使用 API 4.0。 |
日後推出的 API 版本會先以 Alpha 版的形式發布,然後依序經歷 Beta 版、穩定版和淘汰階段。
語言 SDK
Looker 的語言 SDK 在整個生命週期中不斷演進,並採用各種工具和技術製作。所有 SDK 都會直接或間接使用 Looker 的 API 規格文件。下表說明語言 SDK 的支援狀態。
語言 | 支援 | 工具 | 說明 |
---|---|---|---|
Ruby | Looker | 手寫 | 目前的 Ruby SDK 會讀取 Looker API 規格,動態建構 SDK 方法。 |
Python | Looker | codegen | 只要能使用 Python,就能使用 Python SDK。如要瞭解支援的 Python 版本最新資訊,請參閱 Python SDK 讀我檔案。 |
TypeScript | Looker | codegen | TypeScript SDK 可用於 節點和瀏覽器應用程式。 |
Kotlin | 社群 | codegen | Kotlin SDK 適用於 Android 行動裝置和 Java 虛擬機器 (JVM) 應用程式。 |
Swift | 社群 | codegen | Swift SDK 適用於 iOS 和 macOS 應用程式。 |
R | 社群 | Swagger | LookR 是 R 程式設計語言的 Looker SDK,可與 R Studio 搭配使用。 |
其他 | 社群 | codegen | 由 Looker 的程式碼產生專案產生的其他語言 SDK (例如 C# (Look#) 和 Go (GoLook)),則由社群支援。請在 sdk-codegen 存放區中提出問題。 |
工具圖例
- codegen:由 Looker 的 SDK 程式碼產生專案產生,並使用每個 SDK 的手寫執行階段程式庫。
- Swagger:由 Swagger 程式碼產生器開放原始碼工具產生。如果程式設計語言不直接支援 Looker 的程式碼產生器,我們會在程式碼產生器存放區中提供舊版產生器選項,簡化自訂產生作業。這個「舊版」產生器使用 OpenSource OpenAPI 程式碼產生器,取代 Swagger 程式碼產生器。
- 手寫:所有原始碼都是手寫,不涉及任何程式碼產生作業。
SDK 版本控管
Looker 最近採用了版本控管機制,可將語言 SDK 與用於產生這些 SDK 的 Looker 版本相符。舉例來說,如果 SDK 是使用 Looker 21.10 規格製作,版本開頭就會是 21.10.*。
語言 SDK
最新的語言 SDK (由 Looker 程式碼產生器製作) 會與 Looker 發布版本相符。舉例來說,Python 和 TypeScript SDK 會對應各自的 Looker 版本。
我們將舊版語言 SDK 移至程式碼產生器,或將現有程式碼產生器 SDK 發布至套件管理員時,SDK 版本會設為與 Looker 發布版本相符。
執行階段程式庫套件版本
TypeScript SDK 依附於 Looker 編寫的獨立執行階段程式庫 (RTL) 套件,可泛用支援 REST API。由於這個套件不屬於任何 Looker 版本,因此會獨立於使用該套件的語言 SDK 進行版本控管。
當其他語言的 SDK 發布至套件管理員時,其 RTL 可能會成為獨立套件。任何獨立的 RTL 套件都會使用語意版本管理,而非比照 Looker 發布版本。