Looker מספקת כמה גרסאות API וכמה ערכות SDK בשפות שונות שמשתמשות בממשקי ה-API האלה. במאמר הזה מוסבר על הסטטוס ומדיניות התמיכה של גרסאות Looker API וערכות SDK בשפות שונות.
רמות התמיכה
לגרסאות של Looker API ולערכות SDK יש רמות תמיכה שונות:
בקטעים הבאים מתוארות רמות התמיכה.
תמיכה ב-Looker
Looker תומך בגרסאות ה-API ובערכות ה-SDK בשפות הבאות. אפשר לפתוח כרטיסי תמיכה בצוות התמיכה של Looker בהתאם להנחיות התמיכה של Looker. רק API 4.0 נתמך ב-Looker.
תמיכה מהקהילה
הרמה הזו רלוונטית רק ל-SDK של שפות. הבעיות מתועדות ומנוהלות במאגר הקוד הפתוח שמשמש ל-SDK הזה.
יכולות להיות כמה סיבות לכך שערכת SDK לשפה מסוימת תהיה ברמת התמיכה של הקהילה:
- אין בו את התכונות שנדרשות כדי להגיע לרמה שנתמכת ב-Looker.
- לפני ש-Looker יוכל לתמוך בו באופן מלא, הוא צריך תמיכה נוספת ותשתית אוטומציה (בדיקות אוטומטיות, אריזה, תיעוד, דוגמאות וכו').
- היא מבוססת על טכנולוגיה שיצאה משימוש.
- המוצר לא נבדק על ידי מספיק משתמשים שונים כדי שיוגדר כמוצר מוכן לצאת מסטטוס אלפא.
לא נתמך
לא ניתנת תמיכה. אין תמיכה בגרסאות API 3.0 ו-3.1.
גרסאות API
בטבלה הבאה מפורטות שלוש גרסאות ה-API המתועדות נכון ל-Looker 22.4, ומוצגות רמות התמיכה שלהן.
| גרסה | תמיכה | סטטוס | תיאור |
|---|---|---|---|
| 3.0 | לא נתמך | הוסר | ה-API הזה הוסר מ-Looker. |
| 3.1 | לא נתמך | הוסר | ה-API הזה הוסר מ-Looker. |
| 4.0 | Looker | יציב | הגרסה הנוכחית. עדיין אפשר להוסיף נקודות קצה, ארגומנטים ומאפייני מבנה חדשים. כל ערכות ה-SDK של שפות נתמכות ב-Looker משתמשות ב-API 4.0. |
גרסאות עתידיות של ה-API יושקו כגרסאות אלפא, ואז יעברו את מחזור החיים של בטא, יציבות והוצאה משימוש.
ערכות SDK לשפות
ערכות ה-SDK של Looker לשפות התפתחו במהלך חייו של Looker, והן נוצרות באמצעות מגוון כלים וטכניקות. כל ה-SDK משתמשים באופן ישיר או עקיף במסמכי מפרט ה-API של Looker. בטבלה הבאה מפורט סטטוס התמיכה בערכות ה-SDK בשפות שונות.
| שפה | תמיכה | כלים | תיאור |
|---|---|---|---|
| Ruby | Looker | כתב יד | ערכת Ruby SDK הנוכחית קוראת את המפרט של Looker API כדי ליצור באופן דינמי את שיטות ה-SDK. |
| Python | Looker | codegen | ה-Python SDK משמש בכל מקום שבו אפשר להשתמש ב-Python. בקובץ ה-Readme של Python SDK מופיע המידע העדכני על גרסאות Python נתמכות. |
| TypeScript | Looker | codegen | ערכת ה-SDK של TypeScript משמשת לאפליקציות node וגם לאפליקציות דפדפן. |
| Kotlin | קהילה | codegen | Kotlin SDK משמש לאפליקציות לנייד ב-Android ולאפליקציות של Java Virtual Machine (JVM). |
| Swift | קהילה | codegen | ערכת ה-SDK של Swift משמשת לאפליקציות ל-iOS ול-macOS. |
| R | קהילה | Swagger | LookR הוא Looker SDK לשפת התכנות R, והוא פועל עם R Studio. |
| אחר | קהילה | codegen | ערכות SDK בשפות אחרות שנוצרות על ידי פרויקט יצירת הקוד של Looker – כמו C# (Look#) ו-Go (GoLook) – נתמכות על ידי הקהילה. צריך לפתוח בעיות במאגר sdk-codegen. |
מקרא של כלי הפיתוח
- codegen – נוצר על ידי פרויקט codegen של Looker SDK ומשתמש בספריית זמן ריצה שנכתבה ידנית לכל SDK.
- Swagger – נוצר על ידי הכלי Swagger code generator בקוד פתוח. עבור שפות תכנות שלא נתמכות ישירות על ידי כלי ליצירת קוד של Looker, סיפקנו אפשרות מחולל מדור קודם במאגר codegen, שאמור לפשט את היצירה המותאמת אישית. המחולל הזה הוא מדור קודם והוא משתמש בכלי ליצירת קוד OpenAPI בקוד פתוח, שמחליף את מחולל הקוד Swagger.
- כתוב ידנית – כל קוד המקור נכתב ידנית ללא מעורבות של יצירת קוד.
ניהול גרסאות SDK
לאחרונה התחלנו להשתמש ב-Looker בסכימת ניהול גרסאות שתואמת בין ערכות SDK של שפות לבין הגרסה של Looker ששימשה ליצירת ערכות ה-SDK. לדוגמה, אם ה-SDK נוצר באמצעות המפרטים של Looker 21.10, הגרסה שלו תתחיל ב-21.10.*.
ערכות SDK לשפות
ערכות ה-SDK העדכניות ביותר לשפות (שנוצרו על ידי Looker codegen) תואמות לגרסאות של Looker. לדוגמה, גרסאות ה-SDK של Python ו-TypeScript תואמות לגרסאות המתאימות של Looker.
כשאנחנו מעבירים את ערכות ה-SDK הישנות יותר שלנו לשפות שונות ל-codegen, או מפרסמים ערכות SDK קיימות של codegen במנהלי החבילות שלהן, גרסת ה-SDK מוגדרת כך שתתאים לגרסת ההפצה של Looker.
גרסאות של חבילות ספריות בזמן ריצה
ערכת ה-SDK של TypeScript תלויה בחבילת ספריית זמן ריצה (RTL) נפרדת, שנכתבה על ידי Looker, שתומכת באופן כללי בממשקי REST API. מכיוון שהחבילה הזו לא ספציפית לגרסה מסוימת של Looker, היא מנוהלת בגרסאות באופן עצמאי מגרסאות ה-SDK של השפות שמשתמשות בה.
כשמפרסמים SDK בשפות אחרות במנהלי חבילות, יכול להיות שה-RTL שלהם יהפוך לחבילה נפרדת. כל חבילת RTL נפרדת תשתמש בגרסה סמנטית ולא בגרסאות תואמות של Looker.