ייצוא וייבוא ​​נתונים

תוכל להשתמש בשירות הייצוא והייבוא ​​המנוהל של Cloud Firestore כדי להתאושש ממחיקת נתונים בטעות ולייצא נתונים לעיבוד לא מקוון. אתה יכול לייצא את כל המסמכים או רק אוספים ספציפיים. באופן דומה, תוכל לייבא את כל הנתונים מיצוא או מאוספים ספציפיים בלבד. ניתן לייבא נתונים שיוצאו ממסד נתונים אחד של Cloud Firestore למסד נתונים אחר של Cloud Firestore. ניתן גם לטעון היצוא ענן Firestore לתוך BigQuery .

דף זה מתאר כיצד לייצא ולייבא ענן Firestore מסמכים באמצעות שירות ייצוא וייבוא מנוהל לאחסון בענן . השירות ייצוא וייבוא ענן Firestore הצליח זמין דרך gcloud כלי שורת הפקודה ואת ממשק API של Cloud Firestore ( REST , RPC ).

לפני שאתה מתחיל

לפני שתוכל להשתמש בשירות הייצוא והייבוא ​​המנוהל, עליך להשלים את המשימות הבאות:

  1. אפשר חיוב עבור פרויקט Google Cloud שלך. רק פרויקטים של Google Cloud עם חיוב מופעל יכולים להשתמש בפונקציונליות הייצוא והייבוא.
  2. צור דלי אחסון ענן עבור הפרויקט שלך במיקום סמוך מיקום מסד ענן Firestore שלך . אינך יכול להשתמש בדלי של מבקש תשלום לצורך ייצוא ויבוא.
  3. ודא שלחשבון שלך יש את ההרשאות הדרושות עבור Cloud Firestore ואחסון ענן. אם אתה הבעלים של הפרויקט, לחשבון שלך יש את ההרשאות הנדרשות. אחרת, התפקידים הבאים מעניקים את ההרשאות הדרושות לפעולות ייצוא ויבוא ולגישה לאחסון ענן:

הרשאות ברירת מחדל לשירות שירות

כל פרויקט Google Cloud יוצר באופן אוטומטי חשבון שירות מחדל בשם PROJECT_ID @appspot.gserviceaccount.com . פעולות ייצוא ויבוא משתמשות בחשבון שירות זה כדי לאשר פעולות אחסון בענן.

חשבון שירות ברירת המחדל של הפרויקט שלך דורש גישה לדלי האחסון בענן המשמש בפעולת ייצוא או ייבוא. אם דלי האחסון בענן שלך נמצא באותו פרויקט כמו מסד הענן Firestore שלך, אז את חשבון השירות המחדל יש גישת הדלי כברירת מחדל.

אם דלי אחסון הענן נמצא בפרויקט אחר, עליך לתת לחשבון שירות ברירת המחדל גישה לדלי אחסון הענן.

חשבון השירות זקוק Storage Admin התפקיד עבור דלי אחסון הענן לשמש פעולת היצוא או יבוא.

אם תשבית או תמחק את חשבון שירות ברירת המחדל של App Engine, אפליקציית App Engine תאבד את הגישה למסד הנתונים של Cloud Firestore. אם הפכת חשבון שירות App Engine שלך, אתה יכול להפעיל אותו מחדש, לראות מה שמאפשר חשבון שירות . אם מחקת חשבון שירות App Engine שלך בתוך 30 הימים האחרונים, תוכל לשחזר את חשבון השירות שלך, לראות ביטול מחיקת חשבון שירות .

הגדרת gcloud עבור הפרויקט שלך

אתה יכול ליזום פעולות יבוא ויצוא דרך מסוף פלטפורמת Google Cloud או gcloud כלי שורת הפקודה. להשתמש gcloud , להגדיר את כלי שורת הפקודה ולהתחבר הפרויקט שלך באחת מהדרכים הבאות:

ייצוא נתונים

פעולת ייצוא מעתיקה מסמכים במסד הנתונים שלך לקבוצת קבצים בדלי אחסון בענן. שים לב כי ייצוא אינו תמונת מצב מדויקת של מסד הנתונים שצולם בזמן תחילת הייצוא. ייצוא עשוי לכלול שינויים שבוצעו בזמן הפעולה.

ייצא את כל המסמכים

מסוף הענן של Google

  1. עבור לדף ייצוא / ייבוא ענן Firestore במסוף Google Cloud Platform.

    עבור לדף ייבוא/ייצוא

  2. לחץ על ייצא.

  3. לחץ על אפשרות נתון כול ייצוא.

  4. בחר יעד, הזן את שמו של דלי אחסון ענן או השתמש בלחצן עיון כדי לבחור בדלי.

  5. לחץ על ייצא.

חוזר הקונסולה לדף ייצוא היבוא /. אם הפעולה מתחילה בהצלחה, הדף מוסיף ערך לדף היבוא והיצוא האחרון. במקרה של כישלון, הדף מציג הודעת שגיאה.

gcloud

השתמש firestore export הפקודה כדי לייצא את כל המסמכים במסד הנתונים, החלפת [BUCKET_NAME] עם השם של דלי אחסון ענן שלך. מוסיפים את --async הדגל כדי למנוע gcloud מהכלי מחכה למבצע כדי להשלים.

gcloud firestore export gs://[BUCKET_NAME]

אתה יכול לארגן היצוא שלך על ידי הוספת קידומת קובץ אחרי שם דלי, למשל, BUCKET_NAME/my-exports-folder/export-name . אם אינך מספק קידומת לקובץ, שירות הייצוא המנוהל יוצר אחת המבוססת על חותמת הזמן הנוכחית.

ברגע שתתחיל פעולת יצוא, סגירת המסוף אינו מבטל את הפעולה, לראות לבטל פעולה .

ייצא אוספים ספציפיים

מסוף הענן של Google

  1. עבור לדף ייצוא / ייבוא ענן Firestore במסוף Google Cloud Platform.

    עבור לדף ייבוא/ייצוא

  2. לחץ על ייצא.

  3. לחץ על קבוצות אוסף יצוא אחד או יותר האופציה. השתמש בתפריט הנפתח לבחירת קבוצת אוסף אחת או יותר.

  4. בחר יעד, הזן את שמו של דלי אחסון ענן או השתמש בלחצן עיון כדי לבחור בדלי.

  5. לחץ על ייצא.

חוזר הקונסולה לדף יצוא היבוא /. אם הפעולה מתחילה בהצלחה, הדף מוסיף ערך לדף היבוא והיצוא האחרון. במקרה של כישלון, הדף מציג הודעת שגיאה.

gcloud

לקבוצות אוסף יצוא ספציפי, השתמש --collection-ids הדגל. הפעולה מייצאת רק את קבוצות האיסוף עם מזהי האוסף הנתונים. קבוצת האוספים כוללת את כל האוספים ואוספי המשנה (בכל נתיב) עם מזהה האוסף שצוין.

gcloud firestore export gs://[BUCKET_NAME] --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2]

ייבא נתונים

לאחר שיש לך ייצוא קבצים ב- Cloud Storage, תוכל לייבא מסמכים בקבצים אלה בחזרה לפרויקט שלך או לפרויקט אחר. שים לב לנקודות הבאות בנוגע לפעולות ייבוא:

  • בעת ייבוא ​​נתונים, האינדקסים הנדרשים מתעדכנים באמצעות הגדרות המדד הנוכחיות של מסד הנתונים שלך. יצוא אינו מכיל הגדרות אינדקס.

  • יבוא אינו מקצה מזהי מסמכים חדשים. יבוא משתמש במזהים שנתפסו בזמן הייצוא. כאשר יבוא מסמך, מזהה זה שמור למניעת התנגשויות מזהה. אם כבר קיים מסמך עם אותו מזהה, הייבוא ​​מחליף את המסמך הקיים.

  • אם מסמך במסד הנתונים שלך אינו מושפע מיבוא, הוא יישאר במסד הנתונים שלך לאחר הייבוא.

  • פעולות ייבוא ​​אינן מפעילות פונקציות ענן. המאזינים Snapshot לעשות לקבל עדכונים הקשורים בפעילות היבוא.

ייבא את כל המסמכים מיצוא

מסוף הענן של Google

  1. עבור לדף ייצוא / ייבוא ענן Firestore במסוף Google Cloud Platform.

    עבור לדף ייבוא/ייצוא

  2. לחץ על ייבוא.

  3. בתחום הקובץ, הזן את שם הקובץ של .overall_export_metadata קובץ מניתוח יצוא הושלם. אתה יכול להשתמש בלחצן העיון כדי לעזור לך לבחור את הקובץ.

  4. לחץ על ייבוא.

חוזר הקונסולה לדף יצוא ייבוא /. אם הפעולה מתחילה בהצלחה, הדף מוסיף ערך לדף היבוא והיצוא האחרון. במקרה של כישלון, הדף מציג הודעת שגיאה.

gcloud

השתמש firestore import הפקודה למסמכים יבוא מניתוח היצוא הקודם.

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/

איפה [BUCKET_NAME] ו [EXPORT_PREFIX] הצבע על המיקום של קבצי ייצוא שלך. לדוגמה:

gcloud firestore import gs://exports-bucket/2017-05-25T23:54:39_76544/

תוכל לאשר את המיקום של קבצי הייצוא שלך בדפדפן Cloud Storage במסוף Google Cloud Platform Console:

פתח את דפדפן אחסון הענן

ברגע שתתחיל פעולה ביבוא, סגירת המסוף איננו מבטל את הפעולה, לראות לבטל פעולה .

ייבא אוספים ספציפיים

מסוף הענן של Google

לא ניתן לבחור אוספים ספציפיים במסוף. השתמש gcloud במקום.

gcloud

לקבוצות אוסף ייבוא ספציפי מתוך סדרה של קבצי ייצוא, להשתמש --collection-ids הדגל. הפעולה מייבאת רק את קבוצות האיסוף עם מזהי האוסף הנתונים. קבוצת האוספים כוללת את כל האוספים ואוספי המשנה (בכל נתיב) עם מזהה האוסף שצוין.

רק ייצוא של קבוצות אוסף ספציפיות תומך ביבוא של קבוצות אוסף ספציפיות. לא ניתן לייבא אוספים ספציפיים מיצוא של כל המסמכים.

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2]

ניהול פעולות ייצוא ויבוא

לאחר שתתחיל בפעולת ייצוא או ייבוא, Cloud Firestore מקצה לפעולה שם ייחודי. תוכל להשתמש בשם הפעולה כדי למחוק, לבטל או לבדוק סטטוס של הפעולה.

שמות מבצעים עם קידומת projects/[PROJECT_ID]/databases/(default)/operations/ , למשל:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

עם זאת, אתה יכול לעזוב את הקידומת בעת ציון שם המבצע עבור describe , cancel , ואת delete פקודות.

רשום את כל פעולות הייצוא והיבוא

מסוף הענן של Google

אתה יכול להציג רשימה של פעולות ייצוא וייבוא האחרונים בדף ענן Firestore ייבוא / ייצוא של קונסולת Google Cloud Platform.

עבור לדף ייבוא/ייצוא

gcloud

השתמש operations list הפקודה כדי לראות את כל ריצה השלימה לאחרונה פעולות ייצוא וייבוא:

gcloud firestore operations list

בדוק את מצב הפעולה

מסוף הענן של Google

אתה יכול להציג את המצב של מבצע יצוא או יבוא האחרונים בדף ענן Firestore ייבוא / ייצוא של קונסולת Google Cloud Platform.

עבור לדף ייבוא/ייצוא

gcloud

השתמש operations describe הפקודה כדי להציג את המצב של מבצע יצוא או יבוא.

gcloud firestore operations describe [OPERATION_NAME]

אומד את זמן ההשלמה

בקשה למעמד של מבצע מתמשך מחזירה את המדדים workEstimated ו workCompleted . כל אחד מהערכים הללו מוחזר הן במספר בתים והן במספר הישויות:

  • workEstimated מציג את המספר הכולל מוערך של בתים ומסמכים מבצע יעבד.

  • workCompleted מראה את מספר הבתים והמסמכים שעובד עד כה. לאחר משלים פעולה, הערך מציג את המספר הכולל של בייטים ומסמכים כי עובדו בפועל, אשר עשוי להיות גדול מהערך של workEstimated .

פרד workCompleted ידי workEstimated עבור הערכת התקדמות מחוספסת. הערכה זו עשויה להיות לא מדויקת מכיוון שהיא תלויה באיסוף נתונים סטטיסטיים מתעכב.

בטל פעולה

מסוף הענן של Google

ניתן לבטל פעולת הייצוא או הייבוא פועל בדף ענן Firestore ייבוא / ייצוא של קונסולת Google Cloud Platform.

עבור לדף ייבוא/ייצוא

בטבלת יבוא וייצוא האחרונה, פעולות הפועלות כרגע כוללות כפתור לבטל בעמודה שהושלמה. לחץ על הלחצן ביטול כדי לעצור את המבצע. הלחצן משתנה הודעת ביטול ולאחר מכן בוטל כאשר הפעולה מפסיקה לחלוטין.

gcloud

השתמש operations cancel פקודה לעצור פעולת התקדמות:

gcloud firestore operations cancel [OPERATION_NAME]

ביטול פעולת ריצה אינו מבטל את הפעולה. פעולת ייצוא שבוטלה תשאיר מסמכים שכבר יוצאו ב- Cloud Storage, ופעולת יבוא שבוטלה תשאיר במקום עדכונים שכבר בוצעו למסד הנתונים שלך. לא ניתן לייבא יצוא שהושלם חלקית.

מחק פעולה

השתמש gcloud firestore operations delete הפקודה להסיר מבצע מרשימת הפעולות האחרונות. פקודה זו לא תמחק קבצי ייצוא מאחסון ענן.

gcloud firestore operations delete [OPERATION_NAME]

חיוב ותמחור לפעולות ייצוא ויבוא

עליך להפעיל חיוב עבור פרויקט Google Cloud שלך לפני שתשתמש בשירות הייצוא והייבוא ​​המנוהל. ייצוא ופעולות יבוא מחויב עבור המסמך קורא וכותב בשיעורים המפורטים תמחור ענן Firestore .

העלויות של פעולות ייצוא וייבוא לא נספרות שלך תקרת ההוצאה . פעולות יצוא או יבוא לא תפעלנה שלך בתקציב של Google Cloud התראות עד לאחר השלים. באופן דומה, קריאה וכתיבה בצעה במהלך פעולת יצוא או יבוא תוחל שלך מכסה היומית לאחר שהפעולה הסתיים. פעולות הייצוא והייבוא ​​לא ישפיעו על השימוש המוצג בחלק השימוש בקונסולה.

צפייה בעלויות הייצוא והיבוא

ייצוא ופעולות יבוא להחיל את goog-firestoremanaged:exportimport תווית לפעולות מחויב. ב דף דוחות חיוב ענן , אתה יכול להשתמש בתווית זו לעלויות נוף שקשורים בפעילות היבוא והיצוא:

גש לתווית המנוהלת על ידי Google Goog מתוך תפריט המסננים.

ייצא ל- BigQuery

ניתן לטעון נתונים מתוך ייצוא הענן Firestore לתוך BigQuery, אבל רק אם ציינת collection-ids מסנן. ראה נתונים טוען מייצוא ענן Firestore .

מגבלת העמודות של BigQuery

BigQuery מטילה מגבלה של 10,000 עמודות לכל טבלה. פעולות הייצוא של Cloud Firestore מייצרות סכימת טבלה של BigQuery לכל קבוצת אוספים. בסכימה זו, כל שם שדה ייחודי בתוך קבוצת אוספים הופך לעמודת סכימה.

אם סכמת BigQuery של קבוצת אוסף עולה על 10,000 עמודות, פעולת הייצוא של Cloud Firestore מנסה להישאר מתחת למגבלת העמודות על ידי התייחסות לשדות המפה כבייטים. אם המרה זו מביאה את מספר העמודות מתחת ל -10,000, תוכל לטעון את הנתונים ל- BigQuery, אך אינך יכול לבצע שאילתות על שדות המשנה בתוך שדות המפה. אם מספר העמודות עדיין עולה על 10,000, פעולת הייצוא לא יוצרת סכימת BigQuery לקבוצת האיסוף ולא ניתן לטעון את הנתונים שלה ל- BigQuery.

ייצוא פורמטים וקבצי מטא נתונים

הפלט של יצוא הצליח משתמש בפורמט יומן LevelDB .

קבצי מטא נתונים

פעולת ייצוא יוצרת קובץ מטא -נתונים עבור כל קבוצת אוספים שתציין. קבצי נתונים הם בדרך כלל בשם ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata .

קבצי metadata הם מאגרי פרוטוקול ואתה יכול לפענח אותם עם protoc מהדר הפרוטוקול . לדוגמה, תוכל לפענח קובץ מטא -נתונים כדי לקבוע את קבוצות האוסף שקבצי הייצוא מכילים:

protoc --decode_raw < export0.export_metadata