בדף הזה מוסבר איך לייצא ולייבא קבצים למכונות Cloud SQL במקביל.
לפני שמתחילים
לפני שמתחילים בפעולת ייצוא או ייבוא:
- מוודאים שיש מספיק מקום פנוי במסד הנתונים.
- כדאי לפעול לפי השיטות המומלצות לייצוא ולייבוא נתונים.
- אחרי שמסיימים פעולת ייבוא, צריך לאמת את התוצאות.
פעולות הייצוא והייבוא משתמשות במשאבי מסד הנתונים, אבל הן לא מפריעות לפעולות רגילות במסד הנתונים, אלא אם המכונה לא מספקת מספיק משאבים.
ייצוא נתונים מ-Cloud SQL ל-PostgreSQL לכמה קבצים במקביל
בקטעים הבאים מוסבר איך לייצא נתונים מ-Cloud SQL ל-PostgreSQL למספר קבצים במקביל.
ההרשאות והתפקידים שנדרשים לייצוא נתונים מ-Cloud SQL ל-PostgreSQL לכמה קבצים במקביל
כדי לייצא נתונים מ-Cloud SQL ל-Cloud Storage, למשתמש שמפעיל את הייצוא צריך להיות אחד מהתפקידים הבאים:
- התפקיד Cloud SQL Editor
- תפקיד בהתאמה אישית, כולל ההרשאות הבאות:
cloudsql.instances.getcloudsql.instances.export
בנוסף, לחשבון השירות של מכונת Cloud SQL צריך להיות אחד מהתפקידים הבאים:
- תפקיד
storage.objectAdminניהול הזהויות והרשאות הגישה (IAM) - תפקיד בהתאמה אישית, כולל ההרשאות הבאות:
storage.objects.create-
storage.objects.list(לייצוא קבצים במקביל בלבד) -
storage.objects.delete(לייצוא קבצים במקביל בלבד)
למידע נוסף על תפקידים ב-IAM, אפשר לעיין במאמר ניהול זהויות והרשאות גישה.
ייצוא נתונים לכמה קבצים במקביל
אפשר לייצא נתונים במקביל מכמה קבצים שנמצאים ב-Cloud SQL אל Cloud Storage. הפונקציהgcloud sql export עם הדגל -parallel משתמשת בכלי pg_dump עם האפשרות --jobs כדי לייצא מכמה קבצים.
אם אתם מתכננים לייבא את הנתונים ל-Cloud SQL, אתם צריכים לפעול לפי ההוראות שבמאמר ייצוא נתונים משרת מסד נתונים חיצוני כדי לוודא שהקבצים בפורמט הנכון ל-Cloud SQL.
קבצים שמיוצאים במקביל מ-Cloud SQL נדחסים פעמיים. אפשר לייבא את הקבצים האלה בחזרה ל-Cloud SQL בלי לבצע שינויים, אבל אם רוצים לייבא את הקבצים למסד נתונים אחר באמצעות כלי השירות pg_dump בקוד פתוח, צריך קודם לבטל את הדחיסה של הקבצים.
gcloud
כדי לייצא נתונים מ-Cloud SQL לכמה קבצים במקביל, צריך לבצע את השלבים הבאים:
- יוצרים קטגוריה של Cloud Storage.
- כדי למצוא את חשבון השירות של מכונת Cloud SQL שממנה מייצאים קבצים, משתמשים בפקודה
gcloud sql instances describe.gcloud sql instances describe INSTANCE_NAME
- כדי להקצות לחשבון השירות את
storage.objectAdminתפקיד IAM, משתמשים בפקודהgcloud storage buckets add-iam-policy-binding. במאמר שימוש בהרשאות IAM מוסבר איך להגדיר הרשאות IAM. - כדי לייצא נתונים מ-Cloud SQL לכמה קבצים במקביל, משתמשים בפקודה
gcloud sql export sql:gcloud sql export sql INSTANCE_NAME gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME \ --offload \ --parallel \ --threads=THREAD_NUMBER \ --database=DATABASE_NAME \ --table=TABLE_EXPRESSION
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של מופע Cloud SQL שממנו מייצאים קבצים במקביל.
- BUCKET_NAME: שם הקטגוריה של Cloud Storage.
- BUCKET_PATH: הנתיב לדלי שבו מאוחסנים קובצי הייצוא.
- FOLDER_NAME: התיקייה שבה מאוחסנים קובצי הייצוא.
- THREAD_NUMBER: מספר השרשורים ש-Cloud SQL משתמש בהם כדי לייצא קבצים במקביל. לדוגמה, אם רוצים לייצא שלושה קבצים בו-זמנית במקביל, צריך לציין
3כערך של הפרמטר הזה. - DATABASE_NAME (אופציונלי): שם מסדי הנתונים בתוך מכונת Cloud SQL שממנה מתבצע הייצוא. אם לא מציינים מסד נתונים, Cloud SQL מייצא את כל מסדי הנתונים של המשתמשים מהמכונה. מידע נוסף זמין במאמר ייצוא של מופע שלם
- TABLE_EXPRESSION: הטבלאות לייצוא מהמסד נתונים שצוין.
הפקודה
export sqlלא מכילה טריגרים או פרוצדורות מאוחסנות, אבל היא כן מכילה תצוגות. כדי לייצא טריגרים או נהלים מאוחסנים, צריך להשתמש בשרשור יחיד לייצוא. בשרשור הזה נעשה שימוש בכליpg_dump.אחרי שהייצוא יסתיים, הקבצים אמורים להיות בתיקייה בקטגוריה של Cloud Storage בפורמט הספרייה
pg_dump. - אם לא צריך את תפקיד ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייצוא מ-Cloud SQL ל-PostgreSQL, צריך לבטל אותו.
מחליפים את INSTANCE_NAME בשם של מופע Cloud SQL.
בפלט, מחפשים את הערך שמשויך לשדה serviceAccountEmailAddress.
REST v1
כדי לייצא נתונים מ-Cloud SQL לכמה קבצים במקביל, צריך לבצע את השלבים הבאים:
- יוצרים קטגוריה של Cloud Storage:
מחליפים את הפרטים הבאים:gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
- BUCKET_NAME: השם של הקטגוריה, בכפוף לדרישות למתן שמות. לדוגמה,
my-bucket. - PROJECT_NAME: השם של Google Cloud הפרויקט שמכיל את הקטגוריה של Cloud Storage שאתם יוצרים.
- LOCATION_NAME: המיקום של הקטגוריה שבה רוצים לאחסן את הקבצים שמייצאים. לדוגמה,
us-east1.
- BUCKET_NAME: השם של הקטגוריה, בכפוף לדרישות למתן שמות. לדוגמה,
- מספקים למופע את
storage.objectAdminתפקיד ה-IAM של הקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM. -
ייצוא נתונים מ-Cloud SQL לכמה קבצים במקביל:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NAME: השם של Google Cloud הפרויקט שמכיל את קטגוריית Cloud Storage שיצרתם.
- INSTANCE_NAME: השם של מופע Cloud SQL שממנו מייצאים קבצים במקביל.
- BUCKET_NAME: שם הקטגוריה של Cloud Storage.
- BUCKET_PATH: הנתיב לדלי שבו מאוחסנים קובצי הייצוא.
- FOLDER_NAME: התיקייה שבה מאוחסנים קובצי הייצוא.
- DATABASE_NAME: שם מסד הנתונים בתוך מכונת Cloud SQL שממנה מתבצע הייצוא. אם רוצים לייצא את כל מסדי הנתונים של המשתמשים מהמופע, צריך להסיר את השדה הזה מגוף הבקשה.
- THREAD_NUMBER: מספר השרשורים ש-Cloud SQL משתמש בהם כדי לייצא קבצים במקביל. לדוגמה, אם רוצים לייצא שלושה קבצים בו-זמנית במקביל, צריך לציין
3כערך של הפרמטר הזה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_NAME/instances/INSTANCE_NAME/export
תוכן בקשת JSON:
{ "exportContext": { "fileType": "SQL", "uri": "gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME", "databases": ["DATABASE_NAME"], "offload": [TRUE|FALSE], "sqlExportOptions": { "parallel": [TRUE|FALSE], "threads": [THREAD_NUMBER] } } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
- אם לא צריך את תפקיד ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייצוא מ-Cloud SQL ל-PostgreSQL, צריך לבטל אותו.
אחרי שהייצוא יסתיים, הקבצים אמורים להיות בתיקייה בקטגוריה של Cloud Storage בפורמט הספרייה pg_dump.
REST v1beta4
כדי לייצא נתונים מ-Cloud SQL לכמה קבצים במקביל, צריך לבצע את השלבים הבאים:
- יוצרים קטגוריה של Cloud Storage:
מחליפים את הפרטים הבאים:gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
- BUCKET_NAME: השם של הקטגוריה, בכפוף לדרישות למתן שמות. לדוגמה,
my-bucket. - PROJECT_NAME: השם של Google Cloud הפרויקט שמכיל את הקטגוריה של Cloud Storage שאתם יוצרים.
- LOCATION_NAME: המיקום של הקטגוריה שבה רוצים לאחסן את הקבצים שמייצאים. לדוגמה,
us-east1.
- BUCKET_NAME: השם של הקטגוריה, בכפוף לדרישות למתן שמות. לדוגמה,
- מספקים למופע את
storage.objectAdminתפקיד ה-IAM של הקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM. -
ייצוא נתונים מ-Cloud SQL לכמה קבצים במקביל:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NAME: השם של Google Cloud הפרויקט שמכיל את קטגוריית Cloud Storage שיצרתם.
- INSTANCE_NAME: השם של מופע Cloud SQL שממנו מייצאים קבצים במקביל.
- BUCKET_NAME: שם הקטגוריה של Cloud Storage.
- BUCKET_PATH: הנתיב לדלי שבו מאוחסנים קובצי הייצוא.
- FOLDER_NAME: התיקייה שבה מאוחסנים קובצי הייצוא.
- DATABASE_NAME: שם מסד הנתונים בתוך מכונת Cloud SQL שממנה מתבצע הייצוא. אם רוצים לייצא את כל מסדי הנתונים של המשתמשים מהמופע, צריך להסיר את השדה הזה מגוף הבקשה.
- THREAD_NUMBER: מספר השרשורים ש-Cloud SQL משתמש בהם כדי לייצא קבצים במקביל. לדוגמה, אם רוצים לייצא שלושה קבצים בו-זמנית במקביל, צריך לציין
3כערך של הפרמטר הזה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_NAME/instances/INSTANCE_NAME/export
תוכן בקשת JSON:
{ "exportContext": { "fileType": "SQL", "uri": "gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME", "databases": ["DATABASE_NAME"], "offload": [TRUE|FALSE], "sqlExportOptions": { "parallel": [TRUE|FALSE], "threads": [THREAD_NUMBER] } } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
- אם לא צריך את תפקיד ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייצוא מ-Cloud SQL ל-PostgreSQL, צריך לבטל אותו.
אחרי שהייצוא יסתיים, הקבצים אמורים להיות בתיקייה בקטגוריה של Cloud Storage בפורמט הספרייה pg_dump.
ייצוא וייבוא של מופע שלם
אפשר לייצא או לייבא את כל מסדי הנתונים של המשתמשים במופע שלם באמצעות ייצוא מקביל בפורמט של ספרייה.
כדי לייצא או לייבא מופע שלם, משתמשים באותן פקודות שמופיעות בקטעים ייצוא מקביל וייבוא מקביל, ומסירים את השדה databases או database, בהתאמה. אם לא מציינים מסד נתונים, Cloud SQL מריץ ייצוא או ייבוא מקבילי לכל מסדי הנתונים של המשתמשים במכונה. הנתונים לא כוללים מסדי נתונים של המערכת ומסדי נתונים של Cloud SQL שמשמשים לניהול פעולות פנימיות.
בייצוא מקביל בפורמט של ספרייה אל Cloud Storage, אחרי שהייצוא מסתיים בהצלחה, הנתונים שמשויכים לכל מסד נתונים מאוחסנים בספריית משנה שנקראת על שם כל מסד נתונים, באופן דומה לדוגמה הבאה:
gs://example-bucket/test-folder/ |---- postgres/ | |---- 3929.dat.gz (table data file) | |---- toc.dat (metadata file) | |---- second_database/ | |---- 3930.dat.gz | |---- 3931.dat.gz | |---- toc.dat
אם רוצים להפעיל ייבוא מקביל למופע שלם, והקבצים של המופע נוצרו מחוץ ל-Cloud SQL, נדרש מבנה של ספריית משנה כדי שהפעולה תושלם בהצלחה.
כשמזוהה המבנה של כל ה-dump של המופע, המערכת מתעלמת ממסד הנתונים לייבוא שצוין ב-API. הפעולה מזהה את המבנה של כל המופע משם הספרייה.
אי אפשר להפעיל ייצוא או ייבוא של מופע שלם בפורמטים אחרים של קבצים.
אי אפשר לייצא או לייבא מכונה שלמה כקובץ SQL יחיד או כקובץ CSV.
ייבוא נתונים מכמה קבצים במקביל אל Cloud SQL ל-PostgreSQL
בקטעים הבאים מופיע מידע על ייבוא נתונים מכמה קבצים במקביל אל Cloud SQL ל-PostgreSQL.
התפקידים וההרשאות הנדרשים לייבוא נתונים מכמה קבצים במקביל אל Cloud SQL ל-PostgreSQL
כדי לייבא נתונים מ-Cloud Storage ל-Cloud SQL, למשתמש שמבצע את הייבוא צריך להיות אחד מהתפקידים הבאים:
- התפקיד Cloud SQL Admin
- תפקיד בהתאמה אישית, כולל ההרשאות הבאות:
cloudsql.instances.getcloudsql.instances.import
בנוסף, לחשבון השירות של מכונת Cloud SQL צריך להיות אחד מהתפקידים הבאים:
- תפקיד IAM
storage.objectAdmin - תפקיד בהתאמה אישית, כולל ההרשאות הבאות:
storage.objects.get-
storage.objects.list(רק לייבוא קבצים במקביל)
למידע נוסף על תפקידים ב-IAM, אפשר לעיין במאמר ניהול זהויות והרשאות גישה.
ייבוא נתונים ל-Cloud SQL ל-PostgreSQL
אתם יכולים לייבא נתונים במקביל מכמה קבצים שנמצאים ב-Cloud Storage למסד הנתונים שלכם. כדי לעשות את זה, משתמשים בכלי pg_restore עם האפשרות --jobs.
gcloud
כדי לייבא נתונים מכמה קבצים במקביל ל-Cloud SQL, צריך לבצע את השלבים הבאים:
- יצירת קטגוריה של Cloud Storage
מעלים את הקבצים לקטגוריה.
לקבלת עזרה בהעלאת קבצים לקטגוריות, אפשר לעיין במאמר העלאת אובייקטים מקבצים.
- כדי למצוא את חשבון השירות של מופע Cloud SQL שאליו מייבאים קבצים, משתמשים בפקודה
gcloud sql instances describe.gcloud sql instances describe INSTANCE_NAME
- כדי להקצות לחשבון השירות את
storage.objectAdminהתפקיד ב-IAM, משתמשים בכליgcloud storage buckets add-iam-policy-binding. במאמר שימוש בהרשאות IAM מוסבר איך להגדיר הרשאות IAM. - כדי לייבא נתונים מכמה קבצים במקביל אל Cloud SQL, משתמשים בפקודה
gcloud sql import sql:gcloud sql import sql INSTANCE_NAME gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME \ --parallel \ --threads=THREAD_NUMBER \ --database=DATABASE_NAME
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של מופע Cloud SQL שאליו מייבאים קבצים במקביל.
- BUCKET_NAME: שם הקטגוריה של Cloud Storage.
- BUCKET_PATH: הנתיב לדלי שבו מאוחסנים קובצי הייבוא.
- FOLDER_NAME: התיקייה שבה מאוחסנים קובצי הייבוא.
- THREAD_NUMBER: מספר השרשורים ש-Cloud SQL משתמש בהם כדי לייבא קבצים במקביל. לדוגמה, אם רוצים לייבא שלושה קבצים בו-זמנית במקביל, צריך לציין
3כערך של הפרמטר הזה. - DATABASE_NAME: שם מסד הנתונים בתוך מכונת Cloud SQL שממנה מתבצע הייבוא. צריך לציין רק מסד נתונים אחד.
אם הפקודה מחזירה שגיאה כמו
ERROR_RDBMS, צריך לבדוק את ההרשאות. השגיאה הזו נובעת לרוב מבעיות בהרשאות. - אם אתם לא צריכים את הרשאות ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייבוא ל-Cloud SQL ל-PostgreSQL, אתם יכולים להשתמש ב-
gcloud storage buckets remove-iam-policy-bindingכדי להסיר אותן.
מחליפים את INSTANCE_NAME בשם של מופע Cloud SQL.
בפלט, מחפשים את הערך שמשויך לשדה serviceAccountEmailAddress.
REST v1
כדי לייבא נתונים מכמה קבצים במקביל ל-Cloud SQL, צריך לבצע את השלבים הבאים:
- יוצרים קטגוריה של Cloud Storage:
מחליפים את הפרטים הבאים:gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
- BUCKET_NAME: השם של הקטגוריה, בכפוף לדרישות למתן שמות. לדוגמה,
my-bucket. - PROJECT_NAME: השם של Google Cloud הפרויקט שמכיל את הקטגוריה של Cloud Storage שאתם יוצרים.
- LOCATION_NAME: המיקום של הקטגוריה שבה רוצים לאחסן את הקבצים שמייבאים. לדוגמה,
us-east1.
- BUCKET_NAME: השם של הקטגוריה, בכפוף לדרישות למתן שמות. לדוגמה,
מעלים את הקבצים לקטגוריה.
לקבלת עזרה בהעלאת קבצים לקטגוריות, אפשר לעיין במאמר העלאת אובייקטים מקבצים.
- נותנים למופע את
storage.objectAdminתפקיד ה-IAM של הקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM. ייבוא נתונים מכמה קבצים במקביל אל Cloud SQL:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NAME: השם של Google Cloud הפרויקט שמכיל את קטגוריית Cloud Storage שיצרתם.
- INSTANCE_NAME: השם של מופע Cloud SQL שאליו מייבאים קבצים במקביל.
- BUCKET_NAME: שם הקטגוריה של Cloud Storage.
- BUCKET_PATH: הנתיב לדלי שבו מאוחסנים קובצי הייבוא.
- FOLDER_NAME: התיקייה שבה מאוחסנים קובצי הייבוא.
- DATABASE_NAME: שם מסד הנתונים בתוך מכונת Cloud SQL שממנה מתבצע הייבוא. צריך לציין רק מסד נתונים אחד.
- THREAD_NUMBER: מספר השרשורים ש-Cloud SQL משתמש בהם כדי לייבא קבצים במקביל. לדוגמה, אם רוצים לייבא שלושה קבצים בו-זמנית במקביל, צריך לציין
3כערך של הפרמטר הזה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_NAME/instances/INSTANCE_NAME/import
תוכן בקשת JSON:
{ "importContext": { "fileType": "SQL", "uri": "gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME", "databases": ["DATABASE_NAME"], "offload": [TRUE|FALSE], "sqlImportOptions": { "parallel": [TRUE|FALSE], "clean": [TRUE|FALSE], "ifExists": [TRUE|FALSE], "threads": [THREAD_NUMBER] } } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
כדי להשתמש במשתמש אחר לייבוא, מציינים את המאפיין
רשימה מלאה של הפרמטרים של הבקשה מופיעה בדף Cloud SQL Admin API.importContext.importUser.- אם אתם לא צריכים את הרשאות ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייבוא ל-Cloud SQL ל-PostgreSQL, אתם יכולים להשתמש ב-
gcloud storage buckets remove-iam-policy-bindingכדי להסיר אותן.
REST v1beta4
כדי לייבא נתונים מכמה קבצים במקביל ל-Cloud SQL, צריך לבצע את השלבים הבאים:
- יוצרים קטגוריה של Cloud Storage:
מחליפים את הפרטים הבאים:gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
- BUCKET_NAME: השם של הקטגוריה, בכפוף לדרישות למתן שמות. לדוגמה,
my-bucket. - PROJECT_NAME: השם של Google Cloud הפרויקט שמכיל את הקטגוריה של Cloud Storage שאתם יוצרים.
- LOCATION_NAME: המיקום של הקטגוריה שבה רוצים לאחסן את הקבצים שמייבאים. לדוגמה,
us-east1.
- BUCKET_NAME: השם של הקטגוריה, בכפוף לדרישות למתן שמות. לדוגמה,
מעלים את הקבצים לקטגוריה.
לקבלת עזרה בהעלאת קבצים לקטגוריות, אפשר לעיין במאמר העלאת אובייקטים מקבצים.
- נותנים למופע את
storage.objectAdminתפקיד ה-IAM של הקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM. ייבוא נתונים מכמה קבצים במקביל אל Cloud SQL:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NAME: השם של Google Cloud הפרויקט שמכיל את קטגוריית Cloud Storage שיצרתם.
- INSTANCE_NAME: השם של מופע Cloud SQL שממנו מייבאים קבצים במקביל.
- BUCKET_NAME: שם הקטגוריה של Cloud Storage.
- BUCKET_PATH: הנתיב לדלי שבו מאוחסנים קובצי הייבוא.
- FOLDER_NAME: התיקייה שבה מאוחסנים קובצי הייבוא.
- DATABASE_NAME: שם מסד הנתונים בתוך מכונת Cloud SQL שממנה מתבצע הייבוא. צריך לציין רק מסד נתונים אחד.
- THREAD_NUMBER: מספר השרשורים ש-Cloud SQL משתמש בהם כדי לייבא קבצים במקביל. לדוגמה, אם רוצים לייבא שלושה קבצים בו-זמנית במקביל, צריך לציין
3כערך של הפרמטר הזה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_NAME/instances/INSTANCE_NAME/import
תוכן בקשת JSON:
{ "importContext": { "fileType": "SQL", "uri": "gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME", "databases": ["DATABASE_NAME"], "offload": [TRUE|FALSE], "sqlImportOptions": { "parallel": [TRUE|FALSE], "clean": [TRUE|FALSE], "ifExists": [TRUE|FALSE], "threads": [THREAD_NUMBER] } } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
כדי להשתמש במשתמש אחר לייבוא, מציינים את המאפיין
רשימה מלאה של הפרמטרים של הבקשה מופיעה בדף Cloud SQL Admin API.importContext.importUser.- אם אתם לא צריכים את הרשאות ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייבוא ל-Cloud SQL ל-PostgreSQL, אתם יכולים להשתמש ב-
gcloud storage buckets remove-iam-policy-bindingכדי להסיר אותן.
מגבלות
אם מציינים יותר מדי תהליכים כשמייבאים או מייצאים נתונים מכמה קבצים במקביל, יכול להיות שתשתמשו ביותר זיכרון ממה שיש למופע Cloud SQL שלכם. אם זה קורה, מופיעה הודעת שגיאה פנימית. בודקים את השימוש בזיכרון של המכונה ומגדילים את הגודל שלה לפי הצורך. מידע נוסף מופיע במאמר מידע על הגדרות של מופע.
כשמבצעים ייצוא, לא ניתן להשתמש בפסיקים בשמות של מסדי נתונים או בשמות של טבלאות בשדות
databasesאוtables.מוודאים שיש מספיק נפח אחסון בדיסק להורדה של קובץ ה-dump הראשוני. אחרת, תופיע שגיאת
no space left on disk.אם למופע יש רק מעבד וירטואלי אחד (vCPU), אי אפשר לייבא או לייצא כמה קבצים במקביל. מספר ליבות ה-CPU הווירטואליות של המופע לא יכול להיות קטן ממספר השרשורים שבהם אתם משתמשים לייבוא או לייצוא, ומספר השרשורים צריך להיות לפחות שניים.
ייבוא וייצוא מרובי-הליכים (מקביליים) לא תואמים לייבוא וייצוא חד-הליכיים. לדוגמה, אפשר לייבא קובצי dump שנוצרו על ידי ייצוא עם הליך משנה יחיד רק באמצעות ייבוא עם הליך משנה יחיד. באופן דומה, אפשר לייבא קובצי dump שנוצרו על ידי ייצוא מקביל רק באמצעות ייבוא מקביל.
- אי אפשר לפצל טבלאות שמייצאים באמצעות כלי השירות
pg_dump. לכן, אם יש לכם טבלה גדולה מאוד, היא עלולה להפוך לצוואר בקבוק עבור מהירות פעולת הייצוא.
המאמרים הבאים
- איך בודקים את הסטטוס של פעולות ייבוא וייצוא
- איך מבטלים ייבוא וייצוא של נתונים
- שיטות מומלצות לייבוא וייצוא נתונים
- מידע נוסף על בעיות מוכרות בייבוא ובייצוא