이 페이지에서는 Looker에서 'Project with that name already exists(이 이름의 프로젝트가 이미 있음)' 오류를 해결하는 방법을 설명합니다. 이 오류는 UI에 표시되지 않는 프로젝트라도 다른 프로젝트에서 이미 사용 중인 이름으로 새 프로젝트를 만들려고 할 때 발생할 수 있습니다. 이 오류는 일반적으로 프로젝트의 잔여물(Git 브랜치 또는 서버 파일 시스템에 있는 경우가 많음)이 아직 남아 있기 때문에 발생합니다.
문제 해결 트리
다음 의사결정 트리를 사용하여 이 오류를 해결하세요. 새 탭에서 의사결정 트리를 열어 확대합니다.
문제 해결 단계
다음 섹션에서는 트리의 시나리오를 자세히 설명합니다.
1단계: 개발 브랜치 확인
프로젝트의 잔여물이 하나 이상의 개발 브랜치에 있을 수 있습니다. 개발 브랜치를 확인하려면 다음 단계를 따르세요.
- 개발 모드를 사용 설정합니다.
- LookML 프로젝트로 이동하여 모든 개발 브랜치(특히 개인 브랜치)에서 이름이 충돌하는 프로젝트를 확인합니다.
- 이름이 충돌하는 프로젝트를 찾으면 IDE에서 프로젝트를 삭제하고 변경사항을 커밋한 후 프로덕션에 배포하여 남아 있는 Git 참조를 삭제합니다.
2단계: Git 연결 재설정
Git 연결을 재설정하면 로컬 저장소의 불일치를 강제로 정리할 수 있습니다. Git 연결을 재설정하려면 다음 단계를 따르세요.
- 프로젝트의 프로젝트 설정 으로 이동합니다.
- 구성 탭에서 Git 연결 재설정 을 선택합니다.
- Git URL을 다시 입력합니다. SSH를 사용하는 경우 새 배포 키를 Git 제공업체에 업로드합니다.
3단계: 대기 중인 프로젝트 확인
프로젝트 자체가 생성되지 않은 상태에서 프로젝트 이름을 사용하여 모델이 구성되었을 수 있습니다. 이렇게 하면 대기 중인 프로젝트 가 생성됩니다. 대기 중인 프로젝트를 확인하려면 다음 단계를 따르세요.
- 개발 모드를 사용 설정합니다.
- 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. 세션을 개발 모드로 전환
개발 모드에서 프로젝트를 삭제해야 합니다. 개발 모드로 전환하면 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에서 프로젝트를 다시 만들 수 있습니다.
이러한 API 호출은 Postman과 같은 API 도구를 사용하여 실행할 수도 있습니다.
최종 검토 및 지원
이러한 문제 해결 단계로도 오류가 해결되지 않으면 지원팀에 문의하여 추가 문제 해결을 받으세요.