您可以將其他 LookML 專案和外部存放區的檔案匯入目前專案,以便在多個專案中使用模型檔案、檢視檔案和其他檔案。匯入的專案為唯讀,如要編輯檔案,必須從檔案所屬的 LookML 專案 (或連線至檔案 Git 存放區的其他編輯器) 進行編輯。
將檔案匯入 LookML 專案有多種用途,以下列舉幾個例子:
以已安裝的 Looker Block 為基礎,不必直接變更。如果 Looker 變更了區塊,您可以提取變更,因為您新增至區塊的所有 LookML 都會保留在個別存放區中。
維護根據資料庫結構定義自動產生的基本專案。您可以將所有自訂維度、指標等項目放在另一個專案中,並從自動產生的專案匯入所有 LookML。您可以定期重新產生基礎專案,因應資料庫結構定義的變更,不必覆寫所有自訂 LookML。
將共用物件封裝在單一專案中,然後匯入多個其他專案。舉例來說,如果您有多個資料庫共用同一個資料表,可以將該資料表的檢視畫面放在一個專案中,並在該處維護。然後將資料表匯入其他專案,供這些專案使用。
如要從其他專案匯入檔案,請執行下列工作:
- 建立專案資訊清單檔案。
- 指定要匯入的本機或遠端專案。
- 查看匯入專案中的檔案。
- 加入已匯入專案中的檔案。
接著,您就能參照匯入專案檔案中的欄位,並覆寫匯入專案中定義的常數值 (如果常數允許覆寫)。
建立專案資訊清單檔案
凡是從其他專案匯入檔案的專案,都必須有專案資訊清單檔案。如果專案還沒有資訊清單檔案,可以從 Looker IDE 的檔案瀏覽器頂端,點選 + 圖示建立檔案。
如要匯入專案,請在資訊清單中指定專案。您可以指定本機或遠端專案,詳情請參閱下列章節。
匯入本機專案
只有在匯入的專案位於相同 Looker 執行個體時,才能使用本機專案匯入功能。此外,建議開發人員對匯入專案的模型具備模型權限。如果開發人員在匯入的專案中擁有模型權限,版本控管就會是動態的,也就是說,匯入專案中的變更會立即影響匯入該專案的專案。開發人員可先驗證這兩個專案的變更,再推送至正式版。此外,如果開發人員在兩個專案中都擁有模型權限,匯入的專案檔案會反映開發人員的開發模式狀態。因此,如果開發人員處於開發模式,Looker IDE 會顯示匯入專案檔案的開發模式。如果開發人員處於正式版模式,Looker IDE 會顯示匯入專案的正式版模式。
在資訊清單檔案中,project_name
參數會指定目前專案的名稱 (為專案建立資訊清單檔案時,Looker 會自動填入這個參數)。如要將本機專案匯入目前專案,請使用一或多個 local_dependency
參數指定要匯入的專案:
# This project
project_name: "my_project"
# The project to import
local_dependency: {
project: "my_other_project"
}
在下列情況下,請使用遠端專案匯入,而非本機專案匯入:
- 開發人員在匯入專案的模型中沒有模型權限。如果是這種情況,Looker 會複製匯入專案的「正式版模式」,並在 IDE 中顯示該靜態版本的檔案。這個靜態版本一律不會顯示檔案的開發模式版本,而且可能與目前的生產模式不同步,也不會提醒開發人員。建議使用遠端專案匯入功能,並提供
ref
,在遠端專案中指定 Git 分支或 Git 版本。這麼做之後,Looker 就會自動偵測遠端專案中的新修訂版本,開發人員會收到警示,然後就能匯入最新版本的遠端專案檔案。 - 開發人員一律須使用匯入專案的正式版。
- 開發人員需要使用匯入專案檔案的靜態版本。
匯入遠端專案
在遠端匯入作業中,匯入的專案不一定要位於相同執行個體。而是透過遠端 Git 存放區匯入專案。
如要匯入遠端存放區,請使用 remote_dependency
參數提供遠端存放區的資訊。remote_dependency
參數會採用下列資訊和子參數:
- 匯入專案的名稱,可自訂。在以下範例中,專案名稱為
ga_360_block
。您可以在include
陳述式中使用這個名稱,在 LookML 專案中參照匯入的檔案。這個名稱也會做為 Looker IDEimported_projects
資料夾下的資料夾名稱。 url
子參數,用於指定外部 Git 存放區的位址。使用存放區的主要網址。ref
子參數,用於指定 Git 分支版本、Git 發布標記,或 Git 存放區中某次提交的 SHA。如要使用靜態版本控管,可以指定提交 SHA,這樣匯入專案的變更就不會自動反映在專案中 (這是 Looker Blocks 的理想做法)。或者,您也可以指定 Git 分支或 Git 發布標記,讓 Looker 自動偵測遠端專案中的新修訂版本。詳情請參閱本頁面的「自動偵測遠端專案的新版本」一節。override_constant
子參數,這個選用子參數可讓您覆寫匯入專案中定義的常數值。
以下是專案資訊清單檔案中的 remote_dependency
參數範例。本範例使用 HTTPS 連線:
remote_dependency: ga360_block {
url: "https://github.com/llooker/google_ga360"
ref: "master"
override_constant: connection {
value: "importing_project_connection"
}
}
您也可以使用 SSH:
remote_dependency: ga360_block {
url: "[email protected]:llooker/google_ga360.git"
ref: "master"
override_constant: connection {
value: "importing_project_connection"
}
}
新增遠端依附元件後,您可能需要設定遠端專案的匯入憑證,請參閱本頁面的「設定私有遠端存放區的驗證憑證」一節。
自動偵測遠端專案的新版本
如果您在資訊清單檔案的 remote_dependency
中指定 Git 分支版本或 Git 發布標記,Looker 就會自動偵測遠端專案中的新修訂版本。ref
舉例來說,以下是遠端依附元件,其中 master
分支是在 ref
子參數中指定:
remote_dependency: exchange_rate {
url: "https://github.com/llooker/datablocks-exchangerate.git"
ref: "master"
}
隨後,當 master
分支版本透過新提交內容更新時,Looker 會自動偵測到變更。
以下範例指定了 v1.0
發布標記:
remote_dependency: e_faa_original {
url: "https://github.com/llooker/google_ga360"
ref: "v1.0"
}
無論您為 ref
參數指定的值類型為何 (即使是提交 SHA),在專案中新增 remote_dependency
參數時,IDE 都會在頂端專案導覽列中顯示「更新依附元件」按鈕。
按一下「Update Dependencies」,匯入遠端專案檔案。如果這是您首次在專案中新增遠端依附元件,更新依附元件時,Looker 也會提示您建立資訊清單鎖定檔案。Looker 會使用資訊清單鎖定檔案追蹤遠端專案的版本。
如果您在 ref
子參數中指定 Git 分支版本或 Git 發布標記,每當 Looker IDE 重新整理時 (Looker 開發人員進入開發模式、在 IDE 中執行 Git 動作或重新整理瀏覽器時),Looker 就會檢查是否有新的修訂版本。
如有新的修訂版本,Looker 會在 IDE 的 Git 動作面板中顯示「更新依附元件」選項。
選取「Update Dependencies」選項,將最新的遠端專案檔案匯入專案。
取得最新檔案後,您可以