בדף הזה מוסבר איך לפתור את השגיאה 'פרויקט עם השם הזה כבר קיים' ב-Looker. השגיאה הזו יכולה להתרחש כשמנסים ליצור פרויקט חדש עם שם שכבר נמצא בשימוש בפרויקט אחר, גם אם הפרויקט הזה לא גלוי בממשק המשתמש. בדרך כלל השגיאה הזו מתרחשת כי עדיין קיימים שרידים של הפרויקט – לרוב בענף Git או במערכת הקבצים של השרת.
עץ לפתרון בעיות
כדי לפתור את השגיאה, אפשר להיעזר בתרשים הבא של עץ החלטות. כדי להגדיל את התמונה, פותחים את עץ ההחלטות בכרטיסייה חדשה.
שלבים לפתרון בעיות
בקטעים הבאים מפורטים התרחישים בעץ.
שלב 1: בדיקת ענפי פיתוח
יכול להיות שיישארו שרידים של פרויקט בענף פיתוח אחד או יותר. כדי לבדוק ענפי פיתוח, פועלים לפי השלבים הבאים:
- מפעילים את מצב פיתוח.
- עוברים לפרויקטים של LookML ובודקים כל ענף פיתוח – במיוחד ענפים אישיים – כדי למצוא פרויקט עם שם זהה.
- אם מוצאים פרויקט עם שם זהה, מוחקים את הפרויקט בסביבת הפיתוח המשולבת, מבצעים commit לשינוי ואז פורסים את הפרויקט בסביבת הייצור כדי להסיר את ההפניה ל-Git.
שלב 2: איפוס החיבור ל-Git
איפוס החיבור ל-Git יכול לכפות ניקוי של אי-התאמות במאגר המקומי. כדי לאפס את החיבור ל-Git, פועלים לפי השלבים הבאים:
- עוברים אל Project Settings (הגדרות הפרויקט) של הפרויקט.
- בכרטיסייה Configuration (הגדרה), בוחרים באפשרות Reset Git Connection (איפוס החיבור ל-Git).
- מזינים מחדש את כתובת ה-URL של Git. אם אתם משתמשים ב-SSH, צריך להעלות את מפתח הפריסה החדש לספק Git.
שלב 3: בדיקת פרויקטים בהמתנה
יכול להיות שמודל הוגדר באמצעות שם הפרויקט, בלי שהפרויקט עצמו נוצר. במקרה כזה, נוצר פרויקט בהמתנה. כדי לבדוק אם יש פרויקטים בהמתנה, פועלים לפי השלבים הבאים:
- מפעילים את מצב פיתוח.
- צופים בדף LookML Projects.
- בודקים את הקטע Pending Projects. אם קיים פרויקט עם שם זהה, מוחקים את הגדרת המודל בהמתנה.
שלב 4: פתרון בצד השרת (מאגרי מידע חשופים בלבד)
אם מופע Looker שלכם משתמש במאגר Git חשוף (באירוח בצד הלקוח), יכול להיות שהקבצים יישארו בשרת. כדי לנקות קבצים בשרת, נכנסים לשרת המארח של Looker ומשנים את השם של תיקיות המאגרים הריקים שמשויכות לפרויקט או מוחקים אותן באופן ידני:
- משנים את השם של הספרייה או מוחקים אותה:
~/models/YOUR_PROJECT_TO_DELETE - משנים את השם של ספריית המאגר או מוחקים אותה:
~/bare_models/YOUR_PROJECT_TO_DELETE.git
שלב 5: מוחקים את הפרויקט באמצעות Looker API
אם השלבים הקודמים לא פתרו את השגיאה, אפשר להשתמש ב-Looker API כדי למחוק את הפרויקט באופן ידני ולבצע ניקוי פנימי. השיטה הזו משתמשת בנקודות הקצה של API בגרסה 4.0 ודורשת הרשאות אדמין ב-Looker.
1. קבלת טוקן גישה
משתמשים בפרטי הכניסה ל-API (מזהה לקוח וסוד) כדי לקבל אסימון מסוג bearer.
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.
אפשר לבצע את הקריאות האלה ל-API גם באמצעות כלי API כמו Postman.
בדיקה סופית ותמיכה
אם השלבים האלה לא פותרים את הבעיה, פנו לתמיכה כדי לקבל עזרה נוספת.