ייצוא וייבוא של קבצים במקביל

בדף הזה מוסבר איך לייצא ולייבא קבצים למכונות Cloud SQL במקביל.

לפני שמתחילים

לפני שמתחילים בפעולת ייצוא או ייבוא:

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

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

ייצוא נתונים מ-Cloud SQL ל-PostgreSQL לכמה קבצים במקביל

בקטעים הבאים מוסבר איך לייצא נתונים מ-Cloud SQL ל-PostgreSQL למספר קבצים במקביל.

ההרשאות והתפקידים שנדרשים לייצוא נתונים מ-Cloud SQL ל-PostgreSQL לכמה קבצים במקביל

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

בנוסף, לחשבון השירות של מכונת 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 לכמה קבצים במקביל, צריך לבצע את השלבים הבאים:

  1. יוצרים קטגוריה של Cloud Storage.
  2. כדי למצוא את חשבון השירות של מכונת Cloud SQL שממנה מייצאים קבצים, משתמשים בפקודה
    gcloud sql instances describe.
    gcloud sql instances describe INSTANCE_NAME
  3. מחליפים את INSTANCE_NAME בשם של מופע Cloud SQL.

    בפלט, מחפשים את הערך שמשויך לשדה serviceAccountEmailAddress.

  4. כדי להקצות לחשבון השירות את storage.objectAdmin תפקיד IAM, משתמשים בפקודה gcloud storage buckets add-iam-policy-binding. במאמר שימוש בהרשאות IAM מוסבר איך להגדיר הרשאות IAM.
  5. כדי לייצא נתונים מ-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.

  6. אם לא צריך את תפקיד ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייצוא מ-Cloud SQL ל-PostgreSQL, צריך לבטל אותו.

REST v1

כדי לייצא נתונים מ-Cloud SQL לכמה קבצים במקביל, צריך לבצע את השלבים הבאים:

  1. יוצרים קטגוריה של 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.
  2. מספקים למופע את storage.objectAdmin תפקיד ה-IAM של הקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM.
  3. ייצוא נתונים מ-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 שדומה לזו:

  4. אחרי שהייצוא יסתיים, הקבצים אמורים להיות בתיקייה בקטגוריה של Cloud Storage בפורמט הספרייה pg_dump.

  5. אם לא צריך את תפקיד ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייצוא מ-Cloud SQL ל-PostgreSQL, צריך לבטל אותו.
רשימה מלאה של הפרמטרים של הבקשה מופיעה בדף Cloud SQL Admin API.

REST v1beta4

כדי לייצא נתונים מ-Cloud SQL לכמה קבצים במקביל, צריך לבצע את השלבים הבאים:

  1. יוצרים קטגוריה של 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.
  2. מספקים למופע את storage.objectAdmin תפקיד ה-IAM של הקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM.
  3. ייצוא נתונים מ-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 שדומה לזו:

  4. אחרי שהייצוא יסתיים, הקבצים אמורים להיות בתיקייה בקטגוריה של Cloud Storage בפורמט הספרייה pg_dump.

  5. אם לא צריך את תפקיד ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייצוא מ-Cloud SQL ל-PostgreSQL, צריך לבטל אותו.
רשימה מלאה של הפרמטרים של הבקשה מופיעה בדף Cloud SQL Admin API.

ייצוא וייבוא של מופע שלם

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

כדי לייצא או לייבא מופע שלם, משתמשים באותן פקודות שמופיעות בקטעים ייצוא מקביל וייבוא מקביל, ומסירים את השדה 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 צריך להיות אחד מהתפקידים הבאים:

  • תפקיד IAM‏ storage.objectAdmin
  • תפקיד בהתאמה אישית, כולל ההרשאות הבאות:
    • storage.objects.get
    • storage.objects.list (רק לייבוא קבצים במקביל)

למידע נוסף על תפקידים ב-IAM, אפשר לעיין במאמר ניהול זהויות והרשאות גישה.

ייבוא נתונים ל-Cloud SQL ל-PostgreSQL

אתם יכולים לייבא נתונים במקביל מכמה קבצים שנמצאים ב-Cloud Storage למסד הנתונים שלכם. כדי לעשות את זה, משתמשים בכלי pg_restore עם האפשרות --jobs.

gcloud

כדי לייבא נתונים מכמה קבצים במקביל ל-Cloud SQL, צריך לבצע את השלבים הבאים:

  1. יצירת קטגוריה של Cloud Storage
  2. מעלים את הקבצים לקטגוריה.

    לקבלת עזרה בהעלאת קבצים לקטגוריות, אפשר לעיין במאמר העלאת אובייקטים מקבצים.

  3. כדי למצוא את חשבון השירות של מופע Cloud SQL שאליו מייבאים קבצים, משתמשים בפקודה
    gcloud sql instances describe.
    gcloud sql instances describe INSTANCE_NAME
  4. מחליפים את INSTANCE_NAME בשם של מופע Cloud SQL.

    בפלט, מחפשים את הערך שמשויך לשדה serviceAccountEmailAddress.

  5. כדי להקצות לחשבון השירות את storage.objectAdmin התפקיד ב-IAM, משתמשים בכלי gcloud storage buckets add-iam-policy-binding. במאמר שימוש בהרשאות IAM מוסבר איך להגדיר הרשאות IAM.
  6. כדי לייבא נתונים מכמה קבצים במקביל אל 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, צריך לבדוק את ההרשאות. השגיאה הזו נובעת לרוב מבעיות בהרשאות.

  7. אם אתם לא צריכים את הרשאות ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייבוא ל-Cloud SQL ל-PostgreSQL, אתם יכולים להשתמש ב-gcloud storage buckets remove-iam-policy-binding כדי להסיר אותן.

REST v1

כדי לייבא נתונים מכמה קבצים במקביל ל-Cloud SQL, צריך לבצע את השלבים הבאים:

  1. יוצרים קטגוריה של 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.
  2. מעלים את הקבצים לקטגוריה.

    לקבלת עזרה בהעלאת קבצים לקטגוריות, אפשר לעיין במאמר העלאת אובייקטים מקבצים.

  3. נותנים למופע את storage.objectAdmin תפקיד ה-IAM של הקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM.
  4. ייבוא נתונים מכמה קבצים במקביל אל 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 שדומה לזו:

    כדי להשתמש במשתמש אחר לייבוא, מציינים את המאפיין importContext.importUser.

    רשימה מלאה של הפרמטרים של הבקשה מופיעה בדף Cloud SQL Admin API.
  5. אם אתם לא צריכים את הרשאות ה-IAM שהגדרתם בתפקידים והרשאות שנדרשים לייבוא ל-Cloud SQL ל-PostgreSQL, אתם יכולים להשתמש ב-gcloud storage buckets remove-iam-policy-binding כדי להסיר אותן.

REST v1beta4

כדי לייבא נתונים מכמה קבצים במקביל ל-Cloud SQL, צריך לבצע את השלבים הבאים:

  1. יוצרים קטגוריה של 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.
  2. מעלים את הקבצים לקטגוריה.

    לקבלת עזרה בהעלאת קבצים לקטגוריות, אפשר לעיין במאמר העלאת אובייקטים מקבצים.

  3. נותנים למופע את storage.objectAdmin תפקיד ה-IAM של הקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM.
  4. ייבוא נתונים מכמה קבצים במקביל אל 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 שדומה לזו:

    כדי להשתמש במשתמש אחר לייבוא, מציינים את המאפיין importContext.importUser.

    רשימה מלאה של הפרמטרים של הבקשה מופיעה בדף Cloud SQL Admin API.
  5. אם אתם לא צריכים את הרשאות ה-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. לכן, אם יש לכם טבלה גדולה מאוד, היא עלולה להפוך לצוואר בקבוק עבור מהירות פעולת הייצוא.

המאמרים הבאים