このページでは、Looker で「Project with that name already exists」エラーのトラブルシューティングを行う方法について説明します。このエラーは、UI に表示されないプロジェクトであっても、別のプロジェクトですでに使用されている名前で新しいプロジェクトを作成しようとすると発生することがあります。通常、このエラーは、プロジェクトの残骸(多くの場合、Git ブランチまたはサーバーのファイル システム内)がまだ存在しているために発生します。
トラブルシューティング ツリー
このエラーのトラブルシューティングを行うには、次の決定木を使用します。新しいタブで決定木を開いて拡大表示します。
トラブルシューティング手順
次のセクションでは、ツリーのシナリオについて詳しく説明します。
ステップ 1: 開発ブランチを確認する
プロジェクトの残骸が 1 つ以上の開発ブランチに存在する可能性があります。開発ブランチを確認する手順は次のとおりです。
- Development Mode をオンにします。
- LookML プロジェクトに移動し、すべての開発ブランチ(特に個人用ブランチ)で、競合する名前のプロジェクトがないか確認します。
- 競合する名前のプロジェクトが見つかったら、IDE でプロジェクトを削除し、変更を commit して、本番環境にデプロイし、残っている Git 参照を削除します。
ステップ 2: Git 接続をリセットする
Git 接続をリセットすると、ローカル リポジトリの不整合を強制的にクリーンアップできます。Git 接続をリセットする手順は次のとおりです。
- プロジェクトの [プロジェクト設定] に移動します。
- [設定] タブで、[Git コネクションのリセット] を選択します。
- Git URL を再度入力します。SSH を使用している場合は、新しいデプロイキーを Git プロバイダにアップロードします。
ステップ 3: 保留中のプロジェクトを確認する
プロジェクト自体が生成されていない状態で、プロジェクト名を使用してモデルが構成されている可能性があります。これにより、保留中のプロジェクトが作成されます。 保留中のプロジェクトを確認する手順は次のとおりです。
- Development Mode をオンにします。
- [LookML プロジェクト] ページを表示します。
- [保留中のプロジェクト] セクションを確認します。競合する名前のプロジェクトが存在する場合は、保留中のモデル構成を削除します。
ステップ 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. セッションを Development Mode に切り替える
Development Mode でプロジェクトを削除する必要があります。Development Mode に切り替えると、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. プロジェクトの削除
セッションが Development Mode になったら、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 でプロジェクトを再作成できるようになります。
これらの API 呼び出しは、Postman などの API ツールを使用して実行することもできます。
最終確認とサポート
上記の手順でエラーが解決しない場合は、サポートにお問い合わせください。