אפשר לייבא נתונים אל Parallelstore מ-Cloud Storage, ולייצא נתונים מ-Parallelstore אל Cloud Storage. העברות נתונים מאפשרות לכם לטעון נתונים במהירות למופע Parallelstore, ולהשתמש ב-Cloud Storage כשכבת גיבוי עמידה למופע Parallelstore.
ייבוא וייצוא של נתונים הם מצטברים. המערכת מעתיקה רק קבצים שלא קיימים כבר ביעד, או קבצים שהשתנו מאז שהועברו.
למידע על מהירויות ההעברה הצפויות, אפשר לעיין בקטע ביצועים.
ההרשאות הנדרשות
למשתמש או לחשבון השירות שמשמשים להפעלת ההעברה נדרשות ההרשאות הבאות:
-
parallelstore.instances.exportDataכדי להעביר מ-Parallelstore ל-Cloud Storage. -
parallelstore.instances.importDataכדי להעביר ל-Cloud Storage.
שתי ההרשאות האלה ניתנות עם התפקיד roles/parallelstore.admin. אתם יכולים ליצור תפקיד בהתאמה אישית כדי להעניק הרשאות באופן עצמאי.
בנוסף, לחשבון השירות של Parallelstore נדרשת ההרשאה הבאה:
-
roles/storage.adminבקטגוריה של Cloud Storage.
כדי להעניק את ההרשאה הזו, מריצים את הפקודה הבאה של gcloud:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-parallelstore.iam.gserviceaccount.com \
--role=roles/storage.admin
המספר PROJECT_NUMBER שונה ממזהה הפרויקט:
- מזהה פרויקט הוא מחרוזת ייחודית שיכולה להיות שילוב של אותיות, מספרים ומקפים. כשיוצרים פרויקט, מציינים מזהה פרויקט. לדוגמה,
example-project-123. - מספר פרויקט הוא מזהה ייחודי שנוצר באופן אוטומטי לפרויקט שלכם, והוא מורכב רק ממספרים. לדוגמה,
1234567890.
כדי לקבל את PROJECT_NUMBER של מזהה פרויקט מסוים, משתמשים בפקודה gcloud projects describe:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
ייבוא נתונים ל-Parallelstore
אפשר לייבא נתונים מקטגוריה של Cloud Storage. הקטגוריה יכולה להיות באותו פרויקט או בפרויקט אחר. המאגר יכול להיות באזור או באזור זמן שונים מהמופע של Parallelstore, אבל העברות בין אזורים עשויות להיות איטיות יותר מהעברות בתוך אזור.
gcloud
gcloud beta parallelstore instances import-data INSTANCE_ID \
--location=LOCATION \
--source-gcs-bucket-uri=gs://BUCKET_NAME \
--destination-parallelstore-path=PS_PATH
כאשר:
- INSTANCE_ID הוא שם המופע של Parallelstore.
-
--locationצריך להיות אזור נתמך. -
--source-gcs-bucket-uriמציין את ה-URI של קטגוריה של Cloud Storage או נתיב בתוך קטגוריה, בפורמטgs://<bucket_name>/<optional_path_inside_bucket>. --destination-parallelstore-pathמציין את הנתיב של ספריית הבסיס למערכת הקבצים Parallelstore. חייב להתחיל ב-/. ערך ברירת המחדל הוא/.
הפרמטרים הבאים הם אופציונליים:
--request-idמאפשר להקצות מזהה ייחודי לבקשה הזו. אם תנסו לשלוח שוב את הבקשה הזו באמצעות אותו מזהה בקשה, השרת יתעלם מהבקשה אם היא כבר הושלמה. חייב להיות UUID תקין שלא מורכב מאפסים בלבד. לדוגמה:--request-id=c288b55f-f2f0-45fe-a8ce-8afe43876d6d-
--asyncמחזירה תגובה באופן מיידי, בלי להמתין לסיום הפעולה.
REST
POST https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:importData
Authorization: Bearer [YOUR_ACCESS_TOKEN]
{
"source_gcs_bucket" : {
"uri" : "gs://BUCKET_NAME/"
},
"destination_parallelstore" : {
"path" : "/PATH"
}
}
כאשר:
- PROJECT_ID הוא מזהה הפרויקט. Google Cloud
- הערך LOCATION חייב להיות האזור הנתמך שבו נמצא המופע.
- INSTANCE_ID הוא שם המופע של Parallelstore.
-
source-gcs-bucketמכיל מפתחuriשהערך שלו מציין את ה-URI של קטגוריה של Cloud Storage, או נתיב בתוך קטגוריה, בפורמטgs://<bucket_name>/<optional_path_inside_bucket>. -
destination-parallelstoreמכיל מפתחpathשהערך שלו מציין את הנתיב של ספריית הבסיס למערכת הקבצים Parallelstore. חייב להתחיל ב-/. ערך ברירת המחדל הוא/.
כדי להשתמש בחשבון שירות משלכם במקום בסוכן שירות בניהול Google, הבקשה תומכת בשדה serviceAccount באובייקט JSON:
"serviceAccount" : "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_ID"
פקודת cURL לדוגמה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:importData \
-d '{"source_gcs_bucket": {"uri":"gs://BUCKET_NAME/"}, "destination_parallelstore": {"path":"/"}}'
ייצוא נתונים
אתם יכולים לייצא נתונים מהמופע של Parallelstore לקטגוריה של Cloud Storage באותו פרויקט או בפרויקט אחר. ה-bucket יכול להיות באזור או באזור זמינות שונים מהמופע של Parallelstore, אבל העברות בין אזורים עשויות להיות איטיות יותר מהעברות בתוך אזור.
gcloud
gcloud beta parallelstore instances export-data \
INSTANCE_ID \
--location=LOCATION \
--destination-gcs-bucket-uri="gs://BUCKET_NAME" \
--source-parallelstore-path="/"
כאשר:
- INSTANCE_ID הוא שם המופע של Parallelstore.
-
--locationצריך להיות אזור נתמך. -
--destination-gcs-bucket-uriמציין את ה-URI לקטגוריה של Cloud Storage, או נתיב בתוך קטגוריה, בפורמטgs://<bucket_name>/<optional_path_inside_bucket>. --source-parallelstore-pathמציין את הנתיב של ספריית הבסיס למערכת הקבצים Parallelstore. חייב להתחיל ב-/. ערך ברירת המחדל הוא/.
הפרמטרים הבאים הם אופציונליים:
--request-idמאפשר להקצות מזהה ייחודי לבקשה הזו. אם תנסו לשלוח שוב את הבקשה הזו באמצעות אותו מזהה בקשה, השרת יתעלם מהבקשה אם היא כבר הושלמה. חייב להיות UUID תקין שלא מורכב מאפסים בלבד. לדוגמה:--request-id=c288b55f-f2f0-45fe-a8ce-8afe43876d6d-
--asyncמחזירה תגובה באופן מיידי, בלי להמתין לסיום הפעולה.
REST
POST https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:exportData
Authorization: Bearer [YOUR_ACCESS_TOKEN]
{
"source_parallelstore" : {
"path" : "/"
},
"destination_gcs_bucket" : {
"uri" : "gs://BUCKET_NAME/"
}
}
כאשר:
- PROJECT_ID הוא מזהה הפרויקט. Google Cloud
- INSTANCE_ID הוא שם המופע של Parallelstore.
- הערך LOCATION חייב להיות האזור הנתמך שבו נמצא מופע Parallelstore.
-
--source-parallelstoreמכיל מפתחpathשהערך שלו מציין את הנתיב של ספריית הבסיס למערכת הקבצים Parallelstore. חייב להתחיל ב-/. ערך ברירת המחדל הוא/. -
--destination-gcs-bucketמכיל מפתחuriשהערך שלו מציין את ה-URI של קטגוריה של Cloud Storage, או נתיב בתוך קטגוריה, בפורמטgs://<bucket_name>/<optional_path_inside_bucket>.
כדי להשתמש בחשבון שירות משלכם במקום בסוכן שירות בניהול Google, הבקשה תומכת בשדה serviceAccount באובייקט JSON:
"serviceAccount" : "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_ID"
פקודת cURL לדוגמה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json"
https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:exportData \
-d '{"source_parallelstore": {"path":"/"}, "destination_gcs_bucket": {"uri":"gs://BUCKET_NAME/"}}'
קבלת פעולה
כדי לראות את הסטטוס של פעולת ייבוא או ייצוא, צריך את מזהה הפעולה. המזהה הזה מוחזר על ידי השירות כששולחים בקשת ייבוא או ייצוא, והוא בפורמט הבא:
operation-1234567890123-6127783ad26ea-88913969-02748053
gcloud
gcloud beta parallelstore operations describe OPERATION_ID \
--location=LOCATION
REST
GET https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Authorization: Bearer [YOUR_ACCESS_TOKEN]
פקודת cURL לדוגמה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
ביטול פעולה
כדי לבטל פעולת ייבוא או ייצוא, צריך את מזהה הפעולה. המזהה הזה מוחזר על ידי השירות כששולחים בקשת ייבוא או ייצוא, והוא בפורמט הבא:
operation-1234567890123-6127783ad26ea-88913969-02748053
gcloud
gcloud beta parallelstore operations cancel OPERATION_ID \
--location=LOCATION
REST
POST https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel
Authorization: Bearer [YOUR_ACCESS_TOKEN]
פקודת cURL לדוגמה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel