לפני שמייבאים נתונים, צריך:
יוצרים אשכול של מסדי נתונים כדי לייבא אליו את הנתונים.
מעלים את קובץ ה-dump לקטגוריית אחסון. הוראות מפורטות זמינות במאמר העלאת אובייקטים לקטגוריות אחסון.
נותנים לחשבון השירות של Database Service הרשאת קריאה לקובץ ה-dump. איך נותנים ומקבלים גישה לאחסון לדוגמה, אתם יכולים להקצות את התפקיד
project-bucket-object-viewerלחשבון השירות של הייבוא.מערכת Database Service יוצרת את חשבון השירות הזה באופן אוטומטי כשיוצרים את אשכול מסד הנתונים. הסטטוס של אשכול מסד הנתונים כולל את השם ואת מרחב השמות של חשבון השירות לייבוא.
כדי לאחזר את השם ואת מרחב השמות של חשבון השירות לייבוא, מריצים את הפקודה הבאה:
kubectl --kubeconfig=MGMT_API_KUBECONFIG \ get dbcluster.postgresql -n PROJECT_ID DATABASE_CLUSTER_NAME \ -o jsonpath='{.status.serviceAccounts.import}'הפקודה הזו מחזירה אובייקט JSON שמכיל את פרטי השם ומרחב השמות:
{"name":"postgresql-import-DATABASE_CLUSTER_NAME","namespace":"SERVICE_ACCOUNT_NAMESPACE"}
אזהרה: צריך ליצור את קובץ ה-dump של מסד הנתונים באמצעות pg_dump, בפורמט ארכיון שתואם ל-pg_restore.
אין תמיכה בקובצי dump בפורמט SQL רגיל (ברירת המחדל אם לא צוינה אפשרות פורמט).
אפשר לייבא קובץ dump לאשכול של מסד נתונים באמצעות מסוף GDC או Distributed Cloud CLI:
המסוף
פותחים את הדף Database cluster overview במסוף GDC כדי לראות את האשכול שמכיל את מסד הנתונים שאתם מייבאים.
לוחצים על Import. החלונית ייבוא נתונים לחשבונות נפתחת.
בקטע Source בחלונית Import data to accounts, מציינים את המיקום של קובץ ה-SQL שהעליתם קודם.
בשדה יעד, מציינים מסד נתונים קיים כיעד לייבוא.
לוחצים על Import. במסוף GDC מופיע באנר עם סטטוס הייבוא.
gdcloud
לפני שמשתמשים ב-Distributed Cloud CLI, צריך להתקין ולהפעיל אותו. לאחר מכן, מאמתים את הזהות מול הארגון.
מריצים את הפקודה הבאה כדי לייבא קובץ dump למסד נתונים:
gdcloud database import sql DATABASE_CLUSTER BUCKET_NAME/sample.dmp \ --project=PROJECT_NAMEמחליפים את מה שכתוב בשדות הבאים:
- DATABASE_CLUSTER בשם של אשכול מסד הנתונים שאליו רוצים לייבא את הנתונים.
- BUCKET_NAME/SAMPLE.dmp במיקום של קובץ ה-dump.
- PROJECT_NAME בשם הפרויקט שבו נמצא אשכול מסד הנתונים.
מריצים את הפקודה הבאה כדי לבדוק את סטטוס הייבוא:
gdcloud database operations list --project=PROJECT_NAME --cluster=DATABASE_CLUSTER
API
apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Import
metadata:
name: IMPORT_NAME
namespace: USER_PROJECT
spec:
dbclusterRef: DBCLUSTER_NAME
dumpStorage:
s3Options:
bucket: BUCKET_NAME
key: DUMP_FILE_PATH
type: S3
מחליפים את המשתנים הבאים:
-
IMPORT_NAME: השם של פעולת הייבוא. -
USER_PROJECT: השם של פרויקט המשתמש שבו נוצר אשכול מסד הנתונים לייבוא. -
DBCLUSTER_NAME: השם של אשכול מסד הנתונים. -
BUCKET_NAME: השם של מאגר האובייקטים שבו מאוחסנים קובצי הייבוא. -
DUMP_FILE_PATH: השם של נתיב מאגר האובייקטים לקבצים השמורים.