באמצעות תכונות הייבוא והייצוא של אמולטור Datastore, אפשר לייצא נתונים ממופע מסד הנתונים ולטעון אותם לאמולטור. אפשר גם לייצא נתונים מהאמולטור ולטעון אותם למסד הנתונים במצב Datastore.
לפני שמתחילים
לפני שמשתמשים בתכונות הייבוא או הייצוא של אמולטור Datastore, צריך לבצע את הפעולות הבאות:
-
תכונות הייבוא והייצוא זמינות בגרסה
cloud-datastore-emulator2.1.0 ואילך. יכול להיות שצריך לעדכן את הרכיבים של Google Cloud CLI. בפעולות ייבוא, צריך לוודא שקובצי הייצוא של הישות נמצאים באותו מחשב שבו פועל האמולטור.
ייבוא ישויות לאמולטור
תכונת הייבוא של האמולטור מאפשרת לטעון ישויות מקבוצה של קובצי ייצוא של ישויות לתוך האמולטור. קבצים לייצוא ישויות יכולים להגיע מייצוא של מסד נתונים במצב Datastore או ממופע של אמולטור.
כדי לייבא ישויות לאמולטור, שולחים בקשת ייבוא POST לאמולטור. אפשר להשתמש ב-curl או בכלי דומה. לדוגמה, הבקשה הבאה תייבא את כל הישויות מקבוצה של קובצי ייצוא של ישויות לאמולטור:
פרוטוקול
curl -X POST localhost:8081/v1/projects/[PROJECT_ID]:import \
-H 'Content-Type: application/json' \
-d '{"input_url":"[ENTITY_EXPORT_FILES]"}'
localhost:8081 אם האמולטור משתמש ביציאה אחרת.where:
-
[PROJECT_ID]הוא מזהה הפרויקט.
[ENTITY_EXPORT_FILES]הוא הנתיב לקובץoverall_export_metadataשל קובצי הייצוא של הישות. לדוגמה:{"input_url":"/home/user/myexports/2019-02-04T19:39:33_443/2019-02-04T19:39:33_443.overall_export_metadata"}
ייבוא ישויות מסוגים ומרחבי שמות ספציפיים
אפשר לציין מסנן ישויות כדי לייבא ישויות רק מסוגים או ממרחבי שמות ספציפיים. אפשר לציין מסנן ישויות רק אם הייצוא נוצר באמצעות מסנן ישויות.
מציינים סוגים או מרחבי שמות במסנן ישויות:
פרוטוקול
curl -X POST localhost:8081/v1/projects/[PROJECT_ID]:import \
-H 'Content-Type: application/json' \
-d '{"input_url":"[ENTITY_EXPORT_FILES]",
"entity_filter":{"kinds":[[KIND_NAMES]], "namespace_ids":[[NAMESPACES]]}}'
localhost:8081 אם האמולטור משתמש ביציאה אחרת.where:
-
[PROJECT_ID]הוא מזהה הפרויקט.
[ENTITY_EXPORT_FILES]הוא הנתיב לקובץoverall_export_metadataשל קובצי הייצוא של הישות. לדוגמה:{"input_url":"/home/user/myexports/2019-02-04T19:39:33_443/2019-02-04T19:39:33_443.overall_export_metadata"}
[KIND_NAMES]היא רשימה של סוגים:"kinds":["KIND_1", "KIND_2"]
[NAMESPACES]היא רשימה של מזהי מרחבי שמות:"namespace_ids":["NAMESPACE_1", "NAMESPACE_2"]
ייצוא ישויות באמולטור
תכונת הייצוא של האמולטור מאפשרת לשמור ישויות באמולטור בקבוצה של קבצים לייצוא ישויות. לאחר מכן תוכלו להשתמש בפעולת ייבוא כדי לטעון את הישויות בקובצי ייצוא הישויות למסד נתונים במצב Datastore או למופע של אמולטור.
כדי לייצא ישויות במופע של אמולטור, שולחים POST בקשת ייצוא לאמולטור. אפשר להשתמש ב-curl או בכלי דומה. לדוגמה, הבקשה הבאה תייצא את כל הישויות באמולטור:
פרוטוקול
curl -X POST localhost:8081/v1/projects/[PROJECT_ID]:export \
-H 'Content-Type: application/json' \
-d '{"output_url_prefix":"EXPORT_DIRECTORY"}'
localhost:8081 אם האמולטור משתמש ביציאה אחרת.where:
-
[PROJECT_ID]הוא מזהה הפרויקט.
[EXPORT_DIRECTORY]מציין את הספרייה שבה האמולטור שומר את קובצי ייצוא הישויות. הספרייה הזו לא יכולה להכיל כבר קבוצה של קובצי ייצוא של ישויות. לדוגמה:{"output_url_prefix":"/home/user/myexports/2019-02-04/"}
ייצוא ישויות מסוגים ומרחבי שמות ספציפיים
אתם יכולים לציין מסנן ישויות כדי לייצא ישויות רק מסוגים או ממרחבי שמות ספציפיים.
מציינים סוגים או מרחבי שמות במסנן ישויות:
פרוטוקול
curl -X POST localhost:8081/v1/projects/[PROJECT_ID]:export \
-H 'Content-Type: application/json' \
-d '{"output_url_prefix":"EXPORT_DIRECTORY",
"entity_filter":{"kinds":[[KIND_NAMES]], "namespace_ids":[[NAMESPACES]]}}'
localhost:8081 אם האמולטור משתמש ביציאה אחרת.where:
-
[PROJECT_ID]הוא מזהה הפרויקט.
[EXPORT_DIRECTORY]מציין את הספרייה שבה האמולטור שומר את קובצי ייצוא הישויות. הספרייה הזו לא יכולה להכיל כבר קבוצה של קובצי ייצוא של ישויות. לדוגמה:{"output_url_prefix":"/home/user/myexports/2019-02-04/"}``
[KIND_NAMES]היא רשימה של סוגים:"kinds":["KIND_1", "KIND_2"]
[NAMESPACES]היא רשימה של מזהי מרחבי שמות:"namespace_ids":["NAMESPACE_1", "NAMESPACE_2"]
טעינת נתוני אמולטור למסד הנתונים
קבצים של ייצוא ישויות שנוצרו על ידי האמולטור תואמים לתכונת הייבוא המנוהל למסדי נתונים במצב Datastore.
לפני שתוכלו לטעון ישויות שיוצאו מהאמולטור למסד הנתונים, אתם צריכים להעלות את קובצי הייצוא של הישויות לקטגוריה ב-Cloud Storage. תכונת הייבוא המנוהל קוראת רק מקטגוריות של Cloud Storage.
אחרי שקובצי הייצוא של הישויות יהיו זמינים בקטגוריה של Cloud Storage, תוכלו לייבא את הנתונים למסד הנתונים שלכם כמו שמתואר במאמר ייצוא וייבוא של ישויות.