本頁說明如何排解 Looker 中「已有名稱相同的專案」錯誤。如果您嘗試建立新專案,但專案名稱已由其他專案使用 (即使該專案未顯示在使用者介面中),就可能會發生這項錯誤。發生這類錯誤通常是因為專案的殘餘部分 (通常位於 Git 分支版本或伺服器檔案系統中) 仍存在。
疑難排解樹狀結構
請使用下列決策樹狀圖排解這項錯誤。在新分頁中開啟決策樹狀圖,即可放大檢視。
疑難排解步驟
以下各節將進一步說明樹狀結構中的情境。
步驟 1:檢查開發分支
專案的殘餘部分可能存在於一或多個開發分支中。如要檢查開發分支,請按照下列步驟操作:
- 開啟「開發模式」。
- 前往 LookML 專案,檢查每個開發分支 (尤其是個人分支),找出名稱衝突的專案。
- 如果找到名稱衝突的專案,請在 IDE 中刪除該專案、提交變更,然後部署至正式環境,移除殘留的 Git 參照。
步驟 2:重設 Git 連線
重設 Git 連線可強制清除本機存放區的不一致問題。如要重設 Git 連線,請按照下列步驟操作:
- 前往專案的「專案設定」。
- 在「設定」分頁中,選取「重設 Git 連線」。
- 重新輸入 Git 網址。如果您使用 SSH,請將新的部署金鑰上傳至 Git 供應商。
步驟 3:查看待處理的專案
模型可能已使用專案名稱設定,但專案本身從未產生。這會建立待處理專案。如要查看待處理的專案,請按照下列步驟操作:
步驟 4:伺服器端解決方案 (僅限裸露的存放區)
如果 Looker 執行個體使用裸機 Git 存放區 (客戶託管),檔案可能會留在伺服器上。如要清理伺服器上的檔案,請登入 Looker 主機伺服器,然後手動重新命名或刪除與專案相關的裸儲存庫資料夾:
- 重新命名或刪除目錄:
~/models/YOUR_PROJECT_TO_DELETE - 重新命名或刪除裸存放區目錄:
~/bare_models/YOUR_PROJECT_TO_DELETE.git
步驟 5:使用 Looker API 刪除專案
如果上述步驟無法解決錯誤,您可以使用 Looker API 手動刪除專案,強制進行內部清理。這個方法會使用 4.0 API 端點,且需要 Looker 管理員權限。
1. 取得存取權杖
使用 API 憑證 (用戶端 ID 和密鑰) 取得不記名權杖。
curl -d "client_id=CLIENT_ID&client_secret=CLIENT_SECRET" https://INSTANCE_HOSTNAME.cloud.looker.com/api/4.0/login
回覆會包含 access_token。
2. 將工作階段切換為開發模式
您必須在開發模式下刪除專案。切換至開發模式會變更 API 工作階段環境。
curl -X PATCH "https://INSTANCE_HOSTNAME.cloud.looker.com/api/4.0/session" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer BEARER_TOKEN" \
-d '{"workspace_id": "dev"}'
3. 刪除專案
工作階段處於開發模式時,請使用 DELETE /projects/{project_id} 端點刪除專案。
curl -X DELETE "https://INSTANCE_HOSTNAME.cloud.looker.com/api/4.0/projects/PROJECT_ID_TO_DELETE" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer BEARER_TOKEN"
如果呼叫成功,系統會傳回空白的回應 (204 No Content) 或成功刪除訊息。現在應該就能在 Looker UI 中重新建立專案。
您也可以使用 Postman 等 API 工具執行這些 API 呼叫。
最終檢查和支援
如果這些疑難排解步驟無法解決錯誤,請與支援團隊聯絡,進一步排解問題。