בדף הזה מוסבר איך לייצא נתונים למכונות Cloud SQL ולייבא מהן נתונים באמצעות קובצי CSV.
לפני שמתחילים
לפני שמתחילים פעולת ייצוא או ייבוא:
- מוודאים שיש מספיק מקום פנוי במסד הנתונים.
- מוודאים שקובץ ה-CSV מכיל את הנתונים הצפויים ושהוא בפורמט הנכון. קובצי CSV חייבים לכלול שורה אחת לכל שורה של שדות נתונים.
- פועלים לפי השיטות המומלצות לייצוא ולייבוא של נתונים.
פעולות הייצוא והייבוא משתמשות במשאבים של מסד הנתונים, אבל הן לא מפריעות לפעולות הרגילות של מסד הנתונים, אלא אם המכונה לא הוקצתה כראוי.
ייצוא נתונים מ-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, אפשר לעיין במאמר ניהול זהויות והרשאות גישה.
ייצוא נתונים לקובץ CSV מ-Cloud SQL ל-PostgreSQL
אפשר לייצא את הנתונים בפורמט CSV, שמתאים לשימוש בכלים ובסביבות אחרות. הייצוא מתבצע ברמת מסד הנתונים. במהלך ייצוא ל-CSV, אתם יכולים לציין את הסכימות שאתם רוצים לייצא. אפשר לייצא את כל הסכימות ברמת מסד הנתונים.
כדי לייצא נתונים ממסד נתונים במכונה של Cloud SQL לקובץ CSV בקטגוריה של Cloud Storage:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- לוחצים על ייצוא.
- בקטע פורמט קובץ, לוחצים על CSV.
- בקטע Data to export, בוחרים את שם מסד הנתונים מהתפריט הנפתח Database.
-
בשדה SQL query, מזינים שאילתת SQL כדי לציין את הטבלה שממנה רוצים לייצא נתונים.
לדוגמה, כדי לייצא את כל התוכן של הטבלה
entriesבמסד הנתוניםguestbook, מזינים את הפקודה הבאה: השאילתה צריכה לציין טבלה במסד הנתונים שצוין. אי אפשר לייצא מסד נתונים שלם בפורמט CSV.SELECT * FROM guestbook.entries;
- אופציונלי: בוחרים באפשרות Offload export to a temporary instance כדי לאפשר פעולות אחרות בזמן הייצוא.
-
בקטע יעד, מוסיפים את השם של הקטגוריה, התיקייה והקובץ שאליהם רוצים לייצא, או לוחצים על עיון כדי למצוא או ליצור קטגוריה, תיקייה או קובץ.
אם לוחצים על עיון:
- בקטע Location, בוחרים קטגוריה של Cloud Storage או תיקייה לייצוא.
בתיבה שם, מוסיפים שם לקובץ
CSVאו בוחרים קובץ קיים מהרשימה בקטע מיקום.אפשר להשתמש בסיומת הקובץ
.gz(הסיומת המלאה תהיה.csv.gz) כדי לדחוס את קובץ הייצוא.- לוחצים על בחירה.
- לוחצים על ייצוא כדי להתחיל את הייצוא.
gcloud
- יצירת קטגוריה של Cloud Storage
מעלים את הקובץ לקטגוריה.
לקבלת עזרה בהעלאת קבצים לקטגוריות, ראו העלאת אובייקטים.
- מאתרים את חשבון השירות של המכונה ב-Cloud SQL שממנה מייצאים. כדי לעשות את זה, מריצים את הפקודה
gcloud sql instances describe. מחפשים את השדהserviceAccountEmailAddressבפלט.gcloud sql instances describe INSTANCE_NAME
- משתמשים ב-
gcloud storage buckets add-iam-policy-bindingכדי להקצות אתstorage.objectAdminתפקיד ה-IAM ל חשבון השירות של מכונת Cloud SQL. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM. - מייצאים את מסד הנתונים:
gcloud sql export csv INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \ --database=DATABASE_NAME \ --offload \ --query=SELECT_QUERY
למידע על השימוש בפקודה
export csv, עיינו בדף העזרה של הפקודהsql export csv. - אם אין לכם צורך לשמור את תפקיד ה-IAM שהגדרתם קודם, עכשיו צריך לבטל אותו.
REST v1
- יוצרים קטגוריה לייצוא:
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
השלב הזה לא נדרש, אבל מומלץ מאוד לבצע אותו כדי לא לפתוח גישה לנתונים אחרים.
- נותנים למכונה את
storage.objectAdminתפקיד ה-IAM לקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM. -
מייצאים את מסד הנתונים:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- bucket_name: השם של הקטגוריה של Cloud Storage
- path_to_csv_file: הנתיב לקובץ ה-CSV
- database_name: השם של מסד נתונים בתוך המכונה של Cloud SQL
- offload: הפעלת ייצוא בלי שרת (serverless). כדי להשתמש בייצוא ללא שרת (serverless), מגדירים את הערך
true. - select_query: שאילתת SQL לייצוא (אופציונלי)
- escape_character: התו שצריך להופיע לפני תו נתונים שצריך להוסיף לו תו בריחה (escape). הערך של הארגומנט הזה צריך להיות תו בקוד ASCII הקסדצימלי. לדוגמה, '22' מייצג מרכאות כפולות. (אופציונלי)
- quote_character:התו שתוחם ערכים מעמודות עם סוג נתונים של מחרוזת. הערך של הארגומנט הזה צריך להיות תו בקוד ASCII הקסדצימלי. לדוגמה, "22" מייצג מירכאות כפולות. (אופציונלי)
- fields_terminated_by: התו שמפריד בין ערכי העמודות. הערך של הארגומנט הזה צריך להיות תו בקוד ASCII הקסדצימלי. לדוגמה, "2C" מייצג פסיק. (אופציונלי)
- lines_terminated_by: התו שמפריד בין רשומות השורות. הערך של הארגומנט הזה צריך להיות תו בקוד ASCII הקסדצימלי. לדוגמה, "0A" מייצג שורה חדשה. (אופציונלי)
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/export
תוכן בקשת JSON:
{ "exportContext": { "fileType": "CSV", "uri": "gs://bucket_name/path_to_csv_file", "databases": "database_name", "offload": true | false "csvExportOptions": { "selectQuery":"select_query", "escapeCharacter":"escape_character", "quoteCharacter":"quote_character", "fieldsTerminatedBy":"fields_terminated_by", "linesTerminatedBy":"lines_terminated_by" } } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
חובה לציין בדיוק מסד נתונים אחד באמצעות המאפיין
databases, ואם שאילתת הבחירה מציינת מסד נתונים, הוא חייב להיות זהה. - אם אתם לא צריכים לשמור את הרשאות ה-IAM שהגדרתם קודם, הסירו אותן עכשיו.
REST v1beta4
- יוצרים קטגוריה לייצוא:
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
השלב הזה לא נדרש, אבל מומלץ מאוד לבצע אותו כדי לא לפתוח גישה לנתונים אחרים.
- נותנים למכונה את
storage.objectAdminתפקיד ה-IAM לקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM. -
מייצאים את מסד הנתונים:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- bucket_name: השם של הקטגוריה של Cloud Storage
- path_to_csv_file: הנתיב לקובץ ה-CSV
- database_name: השם של מסד נתונים בתוך המכונה של Cloud SQL
- offload: הפעלת ייצוא בלי שרת (serverless). הערך
trueמאפשר להשתמש בייצוא ללא שרת. - select_query: שאילתת SQL לייצוא (אופציונלי)
- escape_character: התו שצריך להופיע לפני תו נתונים שצריך להוסיף לו תו בריחה. הערך של הארגומנט הזה צריך להיות בפורמט הקסדצימלי של ASCII. לדוגמה, "22" מייצג מירכאות כפולות. (אופציונלי)
- quote_character: התו שתוחם ערכים מעמודות עם סוג נתונים של מחרוזת. הערך של הארגומנט הזה חייב להיות בפורמט הקסדצימלי של ASCII. לדוגמה, '22' מייצג מרכאות כפולות. (אופציונלי)
- fields_terminated_by: התו שמפריד בין ערכי העמודות. הערך של הארגומנט הזה חייב להיות בפורמט הקסדצימלי של ASCII. לדוגמה, '2C' מייצג פסיק. (אופציונלי)
- lines_terminated_by: התו שמפריד בין רשומות השורות. הערך של הארגומנט הזה חייב להיות בפורמט הקסדצימלי של ASCII. לדוגמה, '0A' מייצג שורה חדשה. (אופציונלי)
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export
תוכן בקשת JSON:
{ "exportContext": { "fileType": "CSV", "uri": "gs://bucket_name/path_to_csv_file", "databases": "database_name", "offload": true | false "csvExportOptions": { "selectQuery": "select_query", "escapeCharacter": "escape_character", "quoteCharacter": "quote_character", "fieldsTerminatedBy": "fields_terminated_by", "linesTerminatedBy": "lines_terminated_by" } } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
חובה לציין בדיוק מסד נתונים אחד באמצעות המאפיין
databases, ואם שאילתת הבחירה מציינת מסד נתונים, הוא חייב להיות זהה. - אם אתם לא צריכים לשמור את תפקיד ה-IAM שהגדרתם קודם, בטלו אותו עכשיו.
התאמה אישית של הפורמט של קובץ CSV לייצוא
אתם יכולים להשתמש ב-gcloud או ב-API בארכיטקטורת REST כדי להתאים אישית את פורמט קובץ ה-CSV. כשמייצאים, אפשר לציין את אפשרויות העיצוב הבאות:
| אפשרות CSV | ערך ברירת המחדל | דגל gcloud | נכס API בארכיטקטורת REST | תיאור |
|---|---|---|---|---|
| Escape |
קוד הקסדצימלי ב-ASCII למפריד קבצים. |
--escape |
escapeCharacter |
תו שמופיע לפני תו נתונים שצריך להוסיף לו תו בריחה (escape). האפשרות זמינה רק ל-MySQL ול-PostgreSQL. |
| ציטוט |
קוד הקסדצימלי ב-ASCII למירכאות כפולות. |
--quote |
quoteCharacter |
תו שמקיף ערכים מעמודות עם סוג נתונים מסוג מחרוזת. זמין רק ל-MySQL ול-PostgreSQL. |
| תו מפריד בשדה |
קוד הקסדצימלי ב-ASCII לפסיק. |
--fields-terminated-by |
fieldsTerminatedBy |
התו שמפריד בין ערכי העמודות. זמין רק ל-MySQL ול-PostgreSQL. |
| תו של שורה חדשה |
קוד הקסדצימלי של ASCII לשורה חדשה. |
--lines-terminated-by |
linesTerminatedBy |
התו שמפריד בין רשומות השורות. האפשרות זמינה רק ב-MySQL. |
לדוגמה, פקודת gcloud שמשתמשת בכל הארגומנטים האלה יכולה להיראות כך:
gcloud sql export csv INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \ --database=DATABASE_NAME \ --offload \ --query=SELECT_QUERY \ --quote="22" \ --escape="5C" \ --fields-terminated-by="2C" \ --lines-terminated-by="0A"
גוף הבקשה המקבילה ב-API בארכיטקטורת REST ייראה כך:
{ "exportContext": { "fileType": "CSV", "uri": "gs://bucket_name/path_to_csv_file", "databases": ["DATABASE_NAME"], "offload": true, "csvExportOptions": { "selectQuery": "SELECT_QUERY", "escapeCharacter": "5C", "quoteCharacter": "22", "fieldsTerminatedBy": "2C", "linesTerminatedBy": "0A" } } }
כברירת מחדל, ייצוא ל-CSV יוצר פלט CSV רגיל. אם אתם צריכים אפשרויות נוספות מעבר לאלה ש-Cloud SQL מספק, אתם יכולים להשתמש בהצהרה הבאה בלקוח psql:
\copy [table_name] TO '[csv_file_name].csv' WITH (FORMAT csv, ESCAPE '[escape_character]', QUOTE '[quote_character]', DELIMITER '[delimiter_character]', ENCODING 'UTF8', NULL '[null_marker_string]');
ייבוא נתונים ל-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, קראו את המאמר ניהול זהויות והרשאות גישה.
ייבוא נתונים מקובץ CSV ל-Cloud SQL ל-PostgreSQL
- מסד הנתונים והטבלה שאליהם אתם מייבאים צריכים להיות קיימים במכונה של Cloud SQL. למידע נוסף על יצירת מסד נתונים, תוכלו לקרוא את המאמר יצירת מסד נתונים.
- קובץ ה-CSV צריך לעמוד בדרישות של פורמט קובץ CSV.
דרישות לגבי פורמט קובץ CSV
בקובצי CSV, כל שורה צריכה להכיל שורת נתונים אחת, והשדות צריכים להיות מופרדים בפסיקים.
כדי לייבא נתונים למכונה של Cloud SQL באמצעות קובץ CSV:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- לוחצים על Import.
- בקטע פורמט קובץ, בוחרים באפשרות CSV.
- בקטע Select source file, מזינים את הנתיב לקטגוריה ולקובץ ה-CSV או מעלים קובץ CSV מקומי כדי להשתמש בו לייבוא. כדי לעבור לקובץ:
- לוחצים על עיון.
- בקטע Location, לוחצים לחיצה כפולה על שם הקטגוריה ברשימה.
- בוחרים את הקובץ ברשימה.
- לוחצים על בחירה.
אפשר לייבא קובץ דחוס (
.gz) או קובץ לא דחוס (.csv). - בקטע Destination, מציינים את מסד הנתונים (Database) ואת הטבלה (Table) במכונה של Cloud SQL שאליה רוצים לייבא את קובץ ה-CSV.
- אפשר לציין משתמש לפעולת הייבוא.
- לוחצים על ייבוא כדי להתחיל בייבוא.
gcloud
- יצירת קטגוריה של Cloud Storage
מעלים את הקובץ לקטגוריה.
לקבלת עזרה בהעלאת קבצים לקטגוריות, ראו העלאת אובייקטים.
- מעלים את הנתונים מקובץ ה-CSV לקטגוריה.
- מזהים את חשבון השירות של מופע Cloud SQL שממנו מייצאים. כדי לעשות את זה, מריצים את הפקודה
gcloud sql instances describeעם שם המכונה. מחפשים את השדהserviceAccountEmailAddressבפלט.gcloud sql instances describe INSTANCE_NAME
- מעתיקים את השדה serviceAccountEmailAddress.
- משתמשים ב-
gcloud storage buckets add-iam-policy-bindingכדי להעניק את תפקיד ה-IAMstorage.objectAdminלחשבון השירות של מכונת Cloud SQL עבור הדלי. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM. - מייבאים את הקובץ:
gcloud sql import csv INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \ --database=DATABASE_NAME \ --table=TABLE_NAME
מידע על השימוש בפקודה
import csvמופיע בדף העזרה של הפקודהsql import csv. - אם אתם לא צריכים לשמור את הרשאות ה-IAM שהגדרתם קודם, הסירו אותן באמצעות
gcloud storage buckets remove-iam-policy-binding.
REST v1
- יוצרים קטגוריה של Cloud Storage.
מעלים את הקובץ לקטגוריה.
לקבלת עזרה בהעלאת קבצים לקטגוריות, ראו העלאת אובייקטים.
- נותנים למכונה את תפקידי ה-IAM
storage.objectAdminו-objectViewerלקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM. - מייבאים את הקובץ:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- bucket_name: השם של הקטגוריה של Cloud Storage
- path_to_csv_file: הנתיב לקובץ ה-CSV
- database_name: השם של מסד נתונים בתוך מופע Cloud SQL
- table_name: השם של טבלת מסד הנתונים
- escape_character: התו שצריך להופיע לפני תו נתונים שצריך להוסיף לו תו בריחה (escape). הערך של הארגומנט הזה צריך להיות תו בקוד ASCII הקסדצימלי. לדוגמה, "22" מייצג מירכאות כפולות. (אופציונלי)
- quote_character: התו שמקיף ערכים מעמודות עם סוג נתונים של מחרוזת. הערך של הארגומנט הזה צריך להיות תו בקוד ASCII הקסדצימלי. לדוגמה, '22' מייצג מרכאות כפולות. (אופציונלי)
- fields_terminated_by: התו שמפריד בין ערכי העמודות. הערך של הארגומנט הזה צריך להיות תו בקוד ASCII הקסדצימלי. לדוגמה, "2C" מייצג פסיק. (אופציונלי)
- lines_terminated_by: התו שמפריד בין רשומות השורות. הערך של הארגומנט הזה צריך להיות תו בקוד ASCII הקסדצימלי. לדוגמה, '0A' מייצג שורה חדשה. (אופציונלי)
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import
תוכן בקשת JSON:
{ "importContext": { "fileType": "CSV", "uri": "gs://bucket_name/path_to_csv_file", "database": "database_name", "csvImportOptions": { "table": "table_name", "escapeCharacter": "escape_character", "quoteCharacter": "quote_character", "fieldsTerminatedBy": "fields_terminated_by", "linesTerminatedBy": "lines_terminated_by" } } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
רשימה מלאה של הפרמטרים של הבקשה מופיעה בדף instances:import. - אם אתם לא צריכים לשמור את הרשאות ה-IAM שהגדרתם קודם, אתם יכולים להסיר אותן.
REST v1beta4
- יצירת קטגוריה של Cloud Storage
מעלים את הקובץ לקטגוריה.
לקבלת עזרה בהעלאת קבצים לקטגוריות, ראו העלאת אובייקטים.
- מקצים למכונה את תפקיד ה-IAM
storage.objectAdminלקטגוריה. במאמר שימוש בהרשאות IAM מוסבר איך מגדירים הרשאות IAM. - מייבאים את הקובץ:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- bucket_name: השם של הקטגוריה של Cloud Storage
- path_to_csv_file: הנתיב לקובץ ה-CSV
- database_name: השם של מסד נתונים בתוך מופע Cloud SQL
- table_name: השם של טבלת מסד הנתונים
- escape_character: התו שצריך להופיע לפני תו נתונים שצריך להוסיף לו תו בריחה. הערך של הארגומנט הזה צריך להיות בפורמט הקסדצימלי של ASCII. לדוגמה,"22" מייצג מירכאות כפולות. (אופציונלי)
- quote_character: התו שתוחם ערכים מעמודות עם סוג נתונים של מחרוזת. הערך של הארגומנט הזה חייב להיות בפורמט הקסדצימלי של ASCII. לדוגמה, "22" מייצג מירכאות כפולות. (אופציונלי)
- fields_terminated_by: התו שמפריד בין ערכי העמודות. הערך של הארגומנט הזה חייב להיות בפורמט הקסדצימלי של ASCII. לדוגמה, "2C" מייצג פסיק. (אופציונלי)
- lines_terminated_by: התו שמפריד בין רשומות השורות. הערך של הארגומנט הזה צריך להיות בפורמט הקסדצימלי של ASCII. לדוגמה, "0A" מייצג שורה חדשה. (אופציונלי)
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import
תוכן בקשת JSON:
{ "importContext": { "fileType": "CSV", "uri": "gs://bucket_name/path_to_csv_file", "database": "database_name", "csvImportOptions": { "table": "table_name", "escapeCharacter": "escape_character", "quoteCharacter": "quote_character", "fieldsTerminatedBy": "fields_terminated_by", "linesTerminatedBy": "lines_terminated_by" } } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
הרשימה המלאה של הפרמטרים לבקשה מופיעה בדף instances:import. - אם אתם לא צריכים לשמור את הרשאות ה-IAM שהגדרתם קודם, אתם יכולים להסיר אותן.
התאמה אישית של הפורמט של קובץ CSV ל-Cloud SQL ל-PostgreSQL
אפשר להשתמש ב-gcloud או ב-API בארכיטקטורת REST כדי להתאים אישית את פורמט קובץ ה-CSV.
דוגמה לפקודת gcloud:
gcloud sql import csv INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \ --database=DATABASE_NAME \ --table=TABLE_NAME \ --quote="22" \ --escape="5C" \ --fields-terminated-by="2C" \ --lines-terminated-by="0A"
גוף הבקשה המקביל ב-API בארכיטקטורת REST ייראה כך:
{ "importContext": { "fileType": "CSV", "uri": "gs://bucket_name/path_to_csv_file", "database": ["DATABASE_NAME"], "csvImportOptions": { "table": "TABLE_NAME", "escapeCharacter": "5C", "quoteCharacter": "22", "fieldsTerminatedBy": "2C", "linesTerminatedBy": "0A" } } }
אם מופיעה שגיאה כמו ERROR_RDBMS, צריך לוודא שהטבלה קיימת. אם הטבלה קיימת, ודאו שיש לכם את ההרשאות הנכונות בקטגוריה. במאמר
יצירה וניהול של רשימות של בקרת גישה מוסבר איך להגדיר בקרת גישה ב-Cloud Storage.
המאמרים הבאים
- איך בודקים את הסטטוס של פעולות הייבוא והייצוא
- מידע נוסף על שיטות מומלצות לייבוא וייצוא נתונים
- בעיות מוכרות בייבוא ובייצוא