יכול להיות שתרצו לייצא את נתוני המופע של Looker (Google Cloud core) – כולל תוכן שנוצר ונתונים פנימיים על המופע של Looker (Google Cloud core) – ממופע אחד של Looker (Google Cloud core), ואז לייבא את הנתונים האלה למופע אחר של Looker (Google Cloud core). יש כמה סיבות שבגללן כדאי לייצא ולייבא נתונים:
- אתם רוצים לשדרג או לשדרג לאחור למהדורה אחרת של Looker (Google Cloud Core).
- רוצים להוסיף הגדרות שאפשר להפעיל רק במהלך יצירת המכונה, כמו Private Service Connect או CMEK.
- אתם רוצים לעבור למופע של Looker (Google Cloud Core) בפרויקט אחר.
- אתם רוצים לעבור למופע Looker (Google Cloud Core) באזור אחר.
- אתם רוצים לייצא נתונים ממופע שאינו מופע ייצור למופע הייצור שלכם.
ייצוא חד-פעמי כולל את כל הנתונים, ההגדרות והתוכן ממופע מסוים – כולל נתונים מ-BigQuery – עם החריגים הבאים:
- דוחות של Data Studio לא מיוצאים.
- לא מיוצאות Google Cloud הגדרות של המסוף, שצריך לבצע במסוף Google Cloud לכל מופע. עם זאת, ההגדרות בחלונית Admin ב-Looker באפליקציית Looker (Google Cloud core) מיוצאות.
- טוקנים מסוג OAuth שמאוחסנים במופע לא מיוצאים. אם משתמשים ב-OAuth לחיבורים נפרדים למסד נתונים, אחרי הייבוא כל משתמש יצטרך להתחבר מחדש ולרענן את הטוקנים שלו לכל חיבור למסד נתונים שמשתמש ב-OAuth.
- אם מייצאים ומייבאים למופע של Looker (Google Cloud core) שמשתמש בהגדרת רשת שונה מזו של המופע שממנו בוצע הייצוא, יכול להיות שתצטרכו להגדיר את החיבורים לשירותים חיצוניים בצורה שונה.
- אם מייצאים מופע בפרויקט אחד Google Cloud למופע בפרויקט אחר, צריך להגדיר ב-IAM הרשאות כדי לתת למשתמשים גישה למופע בפרויקט החדש.
אי אפשר לבצע ייצוא וייבוא חד-פעמיים של נתונים בזמן שמשימת ייצוא מתוזמנת פועלת. מידע על משימות מתוזמנות של ייצוא זמין במאמר יצירת ייצוא מתוזמן למופע של Looker (Google Cloud core).
הייבוא והייצוא של Looker (Google Cloud core) לא תומכים בהעברת נתונים ממופע שלא תואם ל-FIPS למופע תואם ל-FIPS.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לייבוא או לייצוא של נתונים ממופע של Looker (Google Cloud core), צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM וההרשאות הבאים:
תפקיד Looker Admin (
roles/looker.admin) ב-IAM בפרויקט שבו נוצר המופע.הרשאות
storage.buckets.getIamPolicyו-storage.buckets.setIamPolicyבקטגוריה של Cloud Storage שבה ייווצר הייצוא. ההרשאות האלה כלולות גם בתפקידים אדמין באחסון (roles/storage.admin) ובעלים של קטגוריית אחסון מדור קודם (roles/storage.legacyBucketOwner), כך שאפשר גם לבקש להקצות לכם אחד מהתפקידים האלה.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
ייצוא נתונים ממופע של Looker (Google Cloud core) לקטגוריה של Cloud Storage
בקטעים הבאים מוסבר איך לייצא את נתוני המופע.
אובייקטים והרשאות שנדרשים לייצוא לקטגוריה של Cloud Storage
ברשימה הבאה מפורטים האובייקטים וההרשאות שנדרשים לייצוא לקטגוריה של Cloud Storage:
- חשבון שירות של Looker. אם השתמשתם ב-Google Cloud CLI, ב-Terraform או ב-API כדי ליצור את מכונת Looker (Google Cloud core) שלכם, ועדיין לא יצרתם חשבון שירות של Looker, תצטרכו ליצור אחד.
קטגוריה של Cloud Storage עם הרשאות ה-IAM הבאות שמוקצות לחשבון השירות של Looker:
- ההרשאה
storage.objects.create– ההרשאה הזו כלולה בתפקיד IAM Storage Object Creator (roles/storage.objectCreator), כך שאפשר גם להקצות את התפקיד הזה לחשבון השירות של Looker. - ההרשאות
storage.buckets.getIamPolicyו-storage.buckets.setIamPolicy– התפקידים אדמין לניהול אחסון (roles/storage.admin) או בעלים של קטגוריות אחסון מדור קודם (roles/storage.legacyBucketOwner) כוללים גם את ההרשאות האלה, כך שאפשר גם לבקש לקבל אחד מהתפקידים האלה.
- ההרשאה
מפתח הצפנה בניהול הלקוח (CMEK). ה-CMEK הזה ספציפי לתהליך הייצוא והייבוא, והוא שונה מ-CMEK שמשמש להצפנת נתוני המופע. צריך להקצות לחשבון השירות של Looker את ההרשאה
cloudkms.cryptoKeyVersions.useToEncryptשל CMEK. ההרשאה הזו כלולה בתפקיד Cloud KMS CryptoKey Encrypter (roles/cloudkms.cryptoKeyEncrypter), כך שאפשר גם להקצות את התפקיד הזה לחשבון השירות של Looker.
ייצוא לקטגוריה של Cloud Storage
כדי לייצא את הנתונים, בוחרים באחת מהאפשרויות הבאות:
console
נכנסים לדף Looker במסוף Google Cloud .
ברשימה הנפתחת Select organization (בחירת ארגון) בחלק העליון של הדף, בוחרים את משאב הארגון שכולל את מופע Looker (Google Cloud core) שממנו רוצים לייצא נתונים.
לוחצים על השם של המכונה שרוצים לייצא ממנה נתונים.
לוחצים על ייצוא.
מרחיבים את הכרטיסייה ייצוא חד-פעמי.
בשדה Export Bucket (מאגר לייצוא), מציינים את מיקום המאגר שבו רוצים ליצור את ארטיפקט הייצוא. אפשר להזין את הנתיב בשדה להזנת קלט כ-
<bucket_name>/<folder_name>או לעיין כדי לבחור את המיקום המתאים בדלי.בשדה Select a Cloud KMS key, בוחרים את מפתח ה-CMEK שבו רוצים להשתמש להצפנת ארטיפקט הייצוא.
לוחצים על ייצוא.
gcloud
gcloud looker instances export INSTANCE_NAME \ --target-gcs-uri='gs://BUCKET_NAME/FOLDER_NAME' \ --kms-key=KMS_KEY_ID
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם למופע של Looker (Google Cloud Core), שלא משויך לכתובת ה-URL של המופע -
BUCKET_NAME: המיקום של הקטגוריה ב-Cloud Storage שבו רוצים ליצור את ארטיפקט הייצוא -
FOLDER_NAME: התיקייה שבה רוצים למקם את ארטיפקט הייצוא בקטגוריה של Cloud Storage -
KMS_KEY_ID: הנתיב המלא למזהה מפתח ה-CMEK הספציפי לייבוא ולייצוא
ייבוא הנתונים מקטגוריה של Cloud Storage למופע של Looker (ליבת Google Cloud)
בקטעים הבאים מוסבר איך לייבא את נתוני המופעים.
ההרשאות הנדרשות לייבוא מקטגוריה של Cloud Storage
הרשימה הבאה מציגה את ההרשאות הנדרשות לייבוא מקטגוריה של Cloud Storage:
- חשבון שירות של Looker. אם השתמשתם ב-Google Cloud CLI, ב-Terraform או ב-API כדי ליצור את מופע Looker (Google Cloud core), ועדיין לא יצרתם חשבון שירות של Looker, תצטרכו ליצור אחד.
מעניקים לחשבון השירות של Looker את הרשאות ה-IAM הבאות בקטגוריית Cloud Storage שבה נמצא הייצוא:
-
storage.objects.get– ההרשאה הזו כלולה בתפקיד Storage Object Viewer (roles/storage.objectViewer) ב-IAM, כך שאפשר גם להקצות את התפקיד הזה לחשבון השירות של Looker. - ההרשאות
storage.buckets.getIamPolicyו-storage.buckets.setIamPolicy– התפקידים אדמין לניהול אחסון (roles/storage.admin) או בעלים של קטגוריות אחסון מדור קודם (roles/storage.legacyBucketOwner) כוללים גם את ההרשאות האלה, כך שאפשר גם לבקש לקבל אחד מהתפקידים האלה.
-
צריך להקצות את ההרשאה
cloudkms.cryptoKeyVersions.useToDecryptלחשבון השירות של Looker. ההרשאה הזו כלולה בתפקיד Cloud KMS CryptoKey Decrypter (roles/cloudkms.cryptoKeyDecrypter), כך שאפשר גם להקצות את התפקיד הזה לחשבון השירות של Looker.
ייבוא מקטגוריה של Cloud Storage
כדי לייבא את הנתונים, בוחרים באחת מהאפשרויות הבאות:
console
נכנסים לדף Looker במסוף Google Cloud .
ברשימה הנפתחת Select organization (בחירת ארגון) בחלק העליון של הדף, בוחרים את משאב הארגון שכולל את מופע Looker (Google Cloud core) שאליו רוצים לייבא נתונים.
לוחצים על השם של המופע שאליו רוצים לייבא נתונים.
לוחצים על IMPORT.
בשדה Import Bucket (ייבוא קטגוריה), מזינים את הנתיב או עוברים למיקום ב-Cloud Storage שאליו ייצאתם את הנתונים. בוחרים את התיקייה שמכילה את הקובץ
metadata.jsonוקבצים אחרים.לוחצים על IMPORT.
gcloud
gcloud looker instances import INSTANCE_NAME \ --source-gcs-uri='gs://BUCKET_NAME/FOLDER_NAME'
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם למופע של Looker (Google Cloud Core), שלא משויך לכתובת ה-URL של המופע -
BUCKET_NAME: המיקום של הקטגוריה של Cloud Storage שבה נמצא הקובץmetadata.jsonוקבצים אחרים -
FOLDER_NAME: התיקייה שבה נמצא הקובץmetadata.jsonוקבצים אחרים
אחרי הייבוא, משתמשי Looker (Google Cloud core) יתבקשו לבצע אימות מחדש לכל חיבורי מסד הנתונים של BigQuery או Snowflake שמשתמשים ב-OAuth לאימות של משתמשים פרטיים. הסיבה לכך היא שבייצוא של Looker (Google Cloud core) לא נשמרים אסימוני גישה או אסימוני רענון של OAuth לחיבורי מסד נתונים של משתמשים ספציפיים.
המשתמשים יכולים לבצע אימות מחדש במסדי הנתונים שלהם באחת מהשיטות הבאות:
- פועלים לפי ההנחיות של התחברות שמופיעות כשצופים בטבלת Look או בלוח בקרה שמשתמשים בחיבור מסד נתונים אישי של OAuth.
- עוברים לדף Account (חשבון) ולוחצים על Log in (כניסה) לכל אחד ממסדי הנתונים בקטע OAuth Connection Credentials (פרטי כניסה לקישור OAuth).
כל התראות או לוחות זמנים אוטומטיים שנמצאים בבעלות של משתמש יחיד ומתייחסים לחיבור OAuth יפסיקו לפעול עד שהמשתמש יתחבר באמצעות פרטי הכניסה שלו ל-OAuth.
פתרון בעיות בייצוא או בייבוא של נתונים ב-Looker (Google Cloud core)
בקטע הזה מתואר איך לטפל בשגיאות שעלולות לגרום לתהליך הייצוא או הייבוא להיכשל.
שגיאות במהלך הייצוא
צריך לוודא שלחשבון השירות של Looker הוקצתה ההרשאה
storage.objects.createאו תפקיד ה-IAM Storage Object Creator (roles/storage.objectCreator) בקטגוריית Cloud Storage.צריך לוודא שלחשבון השירות של Looker הוקצתה ההרשאה
cloudkms.cryptoKeyVersions.useToEncryptאו התפקיד מצפין CryptoKey ב-Cloud KMS (roles/cloudkms.cryptoKeyEncrypter) עבור מפתח ההצפנה בניהול הלקוח (CMEK) שיצרתם.לפני שאתם מייצאים את הנתונים, ודאו שהמיקום ב-Cloud Storage שציינתם לא מכיל קבצים מפעולת ייצוא קודמת. אם יש קבצים קיימים, צריך להסיר אותם קודם.
אי אפשר להשתמש בקטגוריה של Cloud Storage שמופעל בה מגיש הבקשה משלם.
שגיאות בייבוא
מוודאים שנתתם לחשבון השירות של Looker את ההרשאה
storage.objects.getאו את תפקיד IAM Storage Object Viewer (roles/storage.objectViewer) ב-קטגוריה של Cloud Storage.צריך לוודא שהענקתם לחשבון השירות של Looker את ההרשאה
cloudkms.cryptoKeyVersions.useToDecryptאו את התפקיד Cloud KMS CryptoKey Decrypter (roles/cloudkms.cryptoKeyDecrypter) למפתח ההצפנה בניהול הלקוח (CMEK) שיצרתם.הייבוא עלול להיכשל בגלל חוסר תאימות בין הגרסה של מופע היעד לבין הגרסה של מופע הייצוא, מהסיבות הבאות:
- למופע היעד יש גרסה משנית של Looker שהיא ישנה יותר מגרסת Looker של הנתונים המיוצאים. לדוגמה, מכונת היעד היא ב-Looker 23.5.X, אבל הייצוא נוצר ממכונה ב-Looker בגרסה 23.6.X.
- הגרסה המשנית של המופע שיצר את נתוני הייצוא מפגרת אחרי גרסת Looker של מופע היעד ביותר מגרסה אחת. לדוגמה, מכונת היעד היא ב-Looker 23.6.X, אבל הייצוא נוצר ממכונה בגרסה Looker 23.4.X.
במקרה כזה, צריך לשדרג את מופע הייצוא או את מופע היעד כך ששני המופעים יפעלו באותה גרסת Looker.