בדף הזה מתואר התהליך של העברת קטגוריות ממיקום אחד למיקום אחר. מידע נוסף על העברת קטגוריות למיקום גיאוגרפי אחר זמין במאמר העברת קטגוריות למיקום גיאוגרפי אחר.
לפני שמתחילים
לפני שמעבירים קטגוריות, צריך לבצע את הפעולות הבאות:
קובעים את סוג העברת הקטגוריות למיקום גיאוגרפי אחר כדי להבין אם נדרשת השבתה של פעולות כתיבה.
אם העברת קטגוריות למיקום גיאוגרפי אחר כוללת זמן השבתה של פעולות כתיבה, צריך להפעיל מחיקה רכה.
בודקים את המכסות והמגבלות כדי לוודא שיש מספיק מכסות במיקום החדש כדי להכיל את הנתונים בדלי.
מעיינים בהגבלות על העברת דליים.
אם אתם משתמשים בדוחות מלאי, שמרו את ההגדרות שלכם.
מקבלים את התפקידים הנדרשים, שמתוארים בקטע הבא.
קבלת התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להעברת קטגוריות, צריך לבקש מהאדמין להקצות לכם את התפקיד אדמין של Storage (roles/storage.admin) ב-IAM בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות להעברת קטגוריות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להעביר קטגוריות, צריך את ההרשאות הבאות:
-
כדי להעביר מאגר:
storage.buckets.relocate -
כדי לראות את הסטטוס של פעולת העברת קטגוריה למיקום גיאוגרפי אחר:
storage.bucketOperations.get -
כדי לראות את רשימת הפעולות של העברת קטגוריות למיקום גיאוגרפי אחר בפרויקט:
storage.bucketOperations.list -
כדי לבטל פעולה של העברת קטגוריה למיקום גיאוגרפי אחר:
storage.bucketOperations.cancel -
כדי לראות את המטא-נתונים של קטגוריה במהלך השלבים של הרצת ניסיון והעברת קטגוריה:
storage.buckets.get -
כדי לקבל אובייקט בקטגוריה שרוצים להעביר:
storage.objects.get -
כדי להציג את רשימת האובייקטים בקטגוריה שרוצים להעביר:
storage.objects.list
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
העברת קטגוריות למיקום גיאוגרפי אחר
בקטע הזה מוסבר איך מעבירים קטגוריות של Cloud Storage ממיקום אחד לאחר.
כדי להעביר קטגוריה, מבצעים את השלבים הבאים:
מידע נוסף על השלבים האלה זמין במאמר הסבר על תהליך העברת הקטגוריות למיקום גיאוגרפי אחר.
בדיקת העברת הקטגוריה למיקום גיאוגרפי אחר באמצעות הרצה (dry run) (אופציונלי)
כדי לצמצם את הבעיות שעלולות לצוץ במהלך העברת הקטגוריות למיקום גיאוגרפי אחר, מומלץ לבצע הרצה על יבש כדי לבדוק את התהליך מקצה לקצה. הפעלה לניסיון מדמה את תהליך ההעברה של הקטגוריה בלי להעביר נתונים, ועוזרת לכם לזהות ולפתור בעיות בשלב מוקדם. ההרצה היבשה בודקת את חוסר התאימות הבא:
- מפתחות הצפנה בניהול הלקוח (CMEK) או מפתחות הצפנה באספקת הלקוח (CSEK)
- מדיניות שמירת נתונים של קטגוריות ואובייקטים
- אובייקטים עם החזקות זמניות
- העלאות מרובות חלקים
הרצה על יבש לא יכולה לזהות כל בעיה אפשרית, כי חלק מהבעיות עשויות לצוץ רק במהלך מיגרציה פעילה בגלל גורמים כמו זמינות המשאבים בזמן אמת. עם זאת, היא מפחיתה את הסיכון להיתקל בבעיות שגוזלות זמן במהלך ההעברה בפועל.
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
- ברשימת הקטגוריות, לוחצים על שם הקטגוריה שרוצים להעביר.
- בדף Bucket details, לוחצים על הכרטיסייה Configuration.
- בקטע סקירה כללית, לוחצים על עריכה לצד השדה מיקום.
- בדף Relocate bucket (העברת קטגוריה), מזינים את המיקום החדש של הקטגוריה. אחרי כל אחד מהשלבים הבאים, לוחצים על המשך כדי לעבור לשלב הבא:
- בקטע Confirm the bucket you plan to relocate, בודקים את הקטגוריה ואת המיקום שלה.
- בקטע לפני שממשיכים, בודקים את ההגדרות שמונעות את ההעברה. אם חלה הגבלה על הקטגוריה, אפשר להשתמש ב-Storage Transfer Service כפתרון חלופי.
-
בקטע Choose where to relocate your bucket:
- בוחרים סוג מיקום.
-
בוחרים מיקום שבו יישמרו נתוני האובייקטים בקטגוריה.
בהתאם למיקום המקור והיעד, תקבלו הודעה אם נדרש זמן השבתה לכתיבה. מידע על סוגי ההעברה וההשבתה זמין במאמר סוגי העברה.
- בקטע Choose how you'd like to proceed (בחירת אופן ההמשך), לוחצים על Start with a dry run (recommended) (התחלה עם הרצה יבשה (מומלץ)). הרצה לניסיון מדמה את הרילוקיישן כדי לזהות בעיות פוטנציאליות בלי להעביר נתונים.
- לוחצים על Continue.
- לוחצים על התחלה.
- בתיבת הדו-שיח לאישור Start with a dry run (התחלה עם הרצה יבשה), קוראים את ההודעה שמופיעה ולוחצים על Start dry run (התחלת הרצה יבשה).
אחרי שמפעילים הרצת בדיקה, מתחילה פעולה ממושכת. אפשר לעקוב אחרי ההתקדמות בכרטיסייה Operations בדף bucket details.
שורת הפקודה
כדי להתחיל הרצה יבשה, מריצים את הפקודה gcloud storage buckets relocate עם הדגל --dry-run:
gcloud storage buckets relocate gs://BUCKET_NAME --location=LOCATION --dry-run
כאשר:
BUCKET_NAMEהוא שם הקטגוריה שרוצים להעביר.
LOCATIONהוא מיקום היעד של הקטגוריה.
אחרי שמתחילים הרצה יבשה, מתחילה פעולה ממושכת. תקבלו מזהה פעולה ותיאור של הפעולה. כדי לעקוב אחר ההתקדמות וההשלמה של ההרצה היבשה, אפשר לקבל את הפרטים של הפעולה הממושכת.
אם הרצת הבדיקה חושפת בעיות, צריך לטפל בהן לפני שממשיכים לשלב ההעברה.
API בפורמט JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שבו מופיעות ההגדרות של הקטגוריה. הקובץ חייב להכיל את הפרמטרים
destinationLocationו-validateOnly. לרשימה מלאה של ההגדרות קראו את מסמכי העזרה שלBuckets: relocate. ההגדרות הנפוצות שצריך לכלול בקובץ:{ "destinationLocation": "DESTINATION_LOCATION", "destinationCustomPlacementConfig": { "dataLocations": [ LOCATIONS, ... ] }, "validateOnly": "true" }
כאשר:
-
DESTINATION_LOCATIONהוא מיקום היעד של הקטגוריה. -
LOCATIONSהיא רשימה של קודי מיקום שישמשו להגדרה של שני אזורים. - הערך של
validateOnlyמוגדר כ-trueכדי לבצע הרצת בדיקה.
-
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/relocate"
כאשר:
-
JSON_FILE_NAMEהוא השם של קובץ ה-JSON שיצרתם. -
BUCKET_NAMEהוא שם הקטגוריה שרוצים להעביר.
אחרי שמפעילים הרצת בדיקה, מתחילה פעולה ממושכת. ההרצה היבשה תצליח אם התנאים הבאים יתקיימו:
- בדוחות של ההרצה היבשה לא מופיעות שגיאות.
המשאב
operationsמחזיר ערך שלtrueבשדהdone.{ "kind": "storage#operation", "name": "projects/_/buckets/bucket/operations/operation_id", "metadata": { "@type": OperationMetadataType*, metadata OperationMetadata* }, "done": "true", "response": { "@type": ResponseResourceType*, response ResponseResource* } }אם ההרצה הניסיונית חושפת בעיות, צריך לטפל בהן לפני שממשיכים לשלב התחלת ההעברה.
-
התחלת העברת קטגוריות למיקום גיאוגרפי אחר
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
- ברשימת הקטגוריות, לוחצים על שם הקטגוריה שרוצים להעביר.
- בדף Bucket details, לוחצים על הכרטיסייה Configuration.
- בקטע סקירה כללית, לוחצים על עריכה לצד השדה מיקום.
- בדף Relocate bucket (העברת קטגוריה), מזינים את המיקום החדש של הקטגוריה. אחרי כל אחד מהשלבים הבאים, לוחצים על המשך כדי לעבור לשלב הבא:
- בקטע Confirm the bucket you plan to relocate, בודקים את הקטגוריה ואת המיקום שלה.
- בקטע לפני שממשיכים, בודקים את ההגדרות שמונעות את ההעברה. אם יש הגבלה על הקטגוריה, אפשר להשתמש ב-Storage Transfer Service כפתרון חלופי.
-
בקטע Choose where to relocate your bucket:
- בוחרים סוג מיקום.
-
בוחרים מיקום שבו יישמרו נתוני האובייקטים בקטגוריה.
בהתאם למיקום המקור והיעד, תקבלו הודעה אם נדרש זמן השבתה לכתיבה. במאמר סוגי העברות מוסבר על סוגי ההעברות וזמני ההשבתה.
- בקטע איך היית רוצה להמשיך?, לוחצים על אני רוצה להעביר את המיקום עכשיו.
- לוחצים על Continue.
- כדי להתחיל בתהליך ההעברה, לוחצים על התחלה.
- בתיבת הדו-שיח לאישור Relocate now, קוראים את ההודעה שמופיעה ולוחצים על Start relocate.
אחרי שמתחילים את תהליך ההעברה, מתחילה פעולה ממושכת. אפשר לעקוב אחרי ההתקדמות בכרטיסייה Operations בדף bucket details.
שורת הפקודה
כדי להתחיל את העברת הקטגוריות למיקום גיאוגרפי אחר, מריצים את הפקודה gcloud storage buckets relocate:
gcloud storage buckets relocate gs://BUCKET_NAME --location=LOCATION
כאשר:
BUCKET_NAMEהוא שם הקטגוריה שרוצים להעביר.
LOCATIONהוא מיקום היעד של הקטגוריה.
API בפורמט JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON עם ההגדרות של הקטגוריה. רשימה מלאה של ההגדרות מופיעה במאמרי העזרה של
Buckets: relocate. ההגדרות הנפוצות שצריך לכלול בקובץ:{ "destinationLocation": "DESTINATION_LOCATION", "destinationCustomPlacementConfig": { "dataLocations": [ LOCATIONS, ... ] }, "validateOnly": "false" }
כאשר:
-
DESTINATION_LOCATIONהוא מיקום היעד של הקטגוריה. -
LOCATIONSהיא רשימה של קודי מיקום שישמשו להגדרה של שני אזורים. - הערך של
validateOnlyמוגדר ל-falseכדי להתחיל את העברת הקטגוריות למיקום גיאוגרפי אחר.
-
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/relocate"
כאשר:
-
JSON_FILE_NAMEהוא השם של קובץ ה-JSON שיצרתם. -
BUCKET_NAMEהוא שם הקטגוריה שרוצים להעביר.
-
מעקב אחרי תהליך הרילוקיישן
המסוף
כדי לעקוב אחרי ההתקדמות של הרצת הניסיון או של תהליך ההעברה, מבצעים את השלבים הבאים:
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שרוצים להעביר.
בדף Bucket details, לוחצים על הכרטיסייה Operations.
ברשימת הפעולות שמופיעה, לוחצים על ההרצה לניסיון או על פעולת ההעברה כדי לראות את הפרטים שלה.
בדף פרטי הפעולה מוצגים סיכום ההעברה, מדדים מרכזיים וסיכום שגיאות.
שורת הפקודה
אחרי שמתחילים להעביר קטגוריה למיקום גיאוגרפי אחר, מתחילה פעולה ממושכת. תקבלו מזהה פעולה ותיאור של הפעולה. כדי לעקוב אחרי ההתקדמות וההשלמה של תהליך ההעברה, מבקשים את הפרטים של הפעולה הממושכת.
API בפורמט JSON
העברת קטגוריה היא פעולה ממושכת שדורשת מעקב. כדי לבדוק את סטטוס התהליך, צריך לבדוק באופן קבוע את פרטי הפעולה הממושכת. כדי לבדוק את סטטוס תהליך ההעברה, קראו את המאמר קבלת פרטים על פעולה ממושכת.
בדוגמה הבאה מוצג הפלט שנוצר על ידי פעולת העברה:
done: false
kind: storage#operation
metadata:
'@type': type.googleapis.com/google.storage.control.v2.RelocateBucketMetadata
commonMetadata:
createTime: '2024-10-21T04:26:59.666Z
endTime: '2024-12-29T23:39:53.340Z'
progressPercent: 99
requestedCancellation: false
type: relocate-bucket
updateTime: '2024-10-21T04:27:03.2892'
destinationLocation: US-CENTRAL1
finalizationState: 'READY'
progress:
byteProgressPercent: 100
discoveredBytes: 200
remainingBytes: 0
discoveredObjectCount: 10
remainingObjectCount: 8
objectProgressPercent: 100
discoveredSyncCount: 8
remainingSyncCount: 0
syncProgressPercent: 100
relocationState: SYNCING
sourceLocation: US
validateOnly: false
estimatedWriteDowntimeDuration: '7200s'
writeDowntimeExpireTime: '2024-12-30T10:34:01.786Z'
name: projects//buckets/my-bucket1/operations/Bar7-1b0khdew@nhenUQRTF_R-Kk4dQ5V1f8fzezkFcPh3XMvlTqJ6xhnqJ1h_QXFIeAirrEqkjgu4zPKSRD6WSSG5UGXil6w
response:
'@type': type.googleapis.com/google.storage.control.v2.RelocateBucketResponse
selfLink: https://storage.googleusercontent.com/storage/v1_ds/b/my-bucket1/operations/Bar7-1b0khdew@nhenUQRTF_R-Kk4dQ5V1f8fzezkFcPh3XMvlTqJ6xhnqJ1h_QXFIeAirrEqkjgu4zPKSRD6WSSG5UGXil6w
בטבלה הבאה מפורט מידע על שדות המפתח בפלט שנוצר על ידי פעולת ההעברה:
| שם השדה | תיאור | ערכים אפשריים |
|---|---|---|
done |
מציין את סיום הפעולה של העברת הקטגוריה למיקום גיאוגרפי אחר. | true, false |
kind |
מציין שהמשאב הזה מייצג פעולת אחסון. | |
metadata |
מספק מידע על הפעולה. | |
metadata.@type |
מציין את סוג הפעולה כהעברת קטגוריות למיקום גיאוגרפי אחר. | |
metadata.commonMetadata |
מטא-נתונים שמשותפים לכל הפעולות. | |
metadata.commonMetadata.createTime |
השעה שבה נוצרה הפעולה הממושכת. | |
metadata.commonMetadata.endTime |
השעה שבה הסתיימה הפעולה הממושכת. | |
metadata.commonMetadata.progressPercent |
ההתקדמות המשוערת של הפעולה הממושכת, באחוזים. | בין 0 ל-100%. ערך של -1 מציין שההתקדמות לא ידועה או לא רלוונטית. |
metadata.commonMetadata.requestedCancellation |
מציין אם המשתמש ביקש לבטל את הפעולה ארוכת הטווח. | true, false |
metadata.commonMetadata.type |
מציין את סוג הפעולה הממושכת. | |
metadata.commonMetadata.updateTime |
המועד האחרון שבו עודכנה הפעולה הממושכת. | |
metadata.destinationLocation |
המיקום של קטגוריית היעד. | |
metadata.finalizationState |
מציין את המוכנות להתחלת שלב הסנכרון הסופי. |
|
metadata.progress |
פרטי ההתקדמות של פעולת ההעברה. | |
metadata.progress.byteProgressPercent |
התקדמות העתקת הבייטים באחוזים. | בין 0 ל-100%. ערך של -1 מציין שההתקדמות לא ידועה או לא רלוונטית. |
metadata.progress.discoveredBytes |
מספר הבייטים שנמצאו בקטגוריית המקור. | |
metadata.progress.discoveredObjectCount |
מספר האובייקטים שנמצאו בקטגוריית המקור. | |
metadata.progress.discoveredSyncCount |
מספר עדכוני המטא-נתונים של האובייקט שנמצאו בקטגוריית המקור. | |
metadata.progress.objectProgressPercent |
התקדמות העתקת האובייקטים באחוזים. | בין 0 ל-100%. ערך של -1 מציין שההתקדמות לא ידועה או לא רלוונטית. |
metadata.progress.remainingBytes |
מספר הבייטים שנותרו להעתקה מקטגוריית המקור לקטגוריית היעד. | |
metadata.progress.remainingObjectCount |
מספר האובייקטים שנותרו להעתקה מקטגוריית המקור לקטגוריית היעד. | |
metadata.progress.remainingSyncCount |
מספר עדכוני המטא-נתונים של האובייקט שנותרו לסנכרון. | |
metadata.progress.syncProgressPercent |
התקדמות עדכוני המטא-נתונים של האובייקט שצריך לסנכרן באחוזים. | בין 0 ל-100%. ערך של -1 מציין שההתקדמות לא ידועה או לא רלוונטית. |
metadata.relocationState |
המצב הכללי של פעולת העברת קטגוריות למיקום גיאוגרפי אחר. |
|
metadata.sourceLocation |
מיקום המקור של הקטגוריה. | |
metadata.validateOnly |
מציין אם הופעלה הרצה לניסיון של העברת הקטגוריה למיקום גיאוגרפי אחר. | true, false |
metadata.estimatedWriteDowntimeDuration |
משך ההשבתה המשוער של פעולות הכתיבה. הערך הזה יאוכלס אחרי שהסטטוס של finalizationState יהיה READY. |
הערך המינימלי הוא 7200s. |
metadata.writeDowntimeExpireTime |
השעה שבה מסתיים זמן ההשבתה של פעולת הכתיבה. | |
name |
המזהה הייחודי של פעולת ההעברה הזו. פורמט: projects/_/buckets/bucket-name/operations/operation-id |
|
response |
התגובה של הפעולה. | |
response.@type |
סוג התשובה. | |
selfLink |
קישור לפעולה הזו. |
אם נתקלתם בבעיות באינטראקציה עם תכונות אחרות של Cloud Storage, כדאי לעיין בקטע מגבלות.
התחלת שלב הסנכרון הסופי
במעברים שדורשים השבתה של פעולות כתיבה, צריך להפעיל את הסנכרון הסופי. בשלב הסנכרון הסופי יש תקופה שבה אי אפשר לבצע פעולות כתיבה בדלי. מומלץ לתזמן את שלב הסנכרון הסופי למועד שבו ההפרעה לאפליקציות תהיה מינימלית.
המסוף
כדי להתחיל את שלב הסנכרון הסופי:
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שרוצים להעביר.
בדף Bucket details, לוחצים על הכרטיסייה Operations.
ברשימת הפעולות בקטגוריה, לוחצים על פעולת ההעברה כדי לפתוח את דף הפרטים של הפעולה. בדף פרטי הפעולה, כשהעתקת הנתונים הושלמה ב-99% לפחות, מופיע סרגל הודעות שמציין שזה הזמן האופטימלי להתחיל את הסנכרון הסופי.
אופציונלי: כדי להגדיר את זמן ההשבתה המקסימלי המותר לכתיבה, לוחצים על Set maximum allowed downtime (TTL) ומציינים את משך זמן ההשבתה המקסימלי.
לוחצים על התחלת הסנכרון הסופי.
בתיבת הדו-שיח לאישור שמופיעה, לוחצים על Start כדי להתחיל את הסנכרון הסופי.
בדף הפרטים של הפעולה מוצג סיכום של ההעברה, מדדי מפתח וסיכום של השגיאות.
שורת הפקודה
לפני שממשיכים, צריך לוודא שהמאגר מוכן באופן מלא. לשם כך, בודקים את הערך finalizationState בפלט של השלב הפעלת ההעברה של המאגר.
כשהערך של finalizationState הוא READY, מריצים את הפקודה gcloud storage buckets
relocate כדי להתחיל את הסנכרון הסופי:
gcloud storage buckets relocate --finalize --operation=projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה שרוצים להעביר. -
OPERATION_IDהוא המזהה של הפעולה הממושכת להעברת הקטגוריה למיקום גיאוגרפי אחר, שמוחזר בתגובה לשיטות שאתם מפעילים. לדוגמה, התגובה הבאה מוחזרת מקריאה ל-gcloud storage operations listומזהה הפעולה הממושכת הואAbCJYd8jKT1n-Ciw1LCNXIcubwvij_TdqO-ZFjuF2YntK0r74.
`name: projects/_/buckets/my-bucket/operations/AbCJYd8jKT1n-Ciw1LCNXIcubwvij_TdqO-ZFjuF2YntK0r74`
מגדירים את הדגל ttl כדי לקבל שליטה טובה יותר בתהליך ההעברה. לדוגמה:
gcloud storage buckets relocate --finalize --ttl TTL_DURATION --operation=projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
כאשר:
TTL_DURATION הוא אורך החיים (TTL) של שלב זמן ההשבתה של הכתיבה במהלך תהליך ההעברה. הוא מבוטא כמחרוזת, למשל 12h ל-12 שעות. הערך של TTL_DURATION קובע את משך הזמן המקסימלי המותר לשלב זמן ההשבתה של הכתיבה. אם זמן ההשבתה של פעולות הכתיבה חורג מהמגבלה הזו, תהליך ההעברה חוזר באופן אוטומטי לשלב העברת קטגוריות למיקום גיאוגרפי אחר, ופעולות הכתיבה לקטגוריה מופעלות מחדש. הערך צריך להיות בטווח שבין 6h (6 שעות) ל-48h (48 שעות). אם לא מציינים ערך, ערך ברירת המחדל הוא 12h (12 שעות).
API בפורמט JSON
לפני שממשיכים, צריך לוודא שהמאגר מוכן באופן מלא. לשם כך, בודקים את הערך של finalizationState בפלט של השלב העברת קטגוריות למיקום גיאוגרפי אחר. כדי להמשיך, הערך של finalizationState צריך להיות READY.
אם תפעילו את שלב הסנכרון הסופי מוקדם מדי, הפקודה תחזיר הודעת שגיאה The relocate bucket operation isn't ready to advance to finalization running state אבל תהליך ההעברה יימשך.
מומלץ להמתין עד שהערך של progressPercent יהיה 99 לפני שמתחילים את שלב הסנכרון הסופי.
להתקין ולהפעיל את ה-CLI של gcloud, כדי שתוכלו ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שבו מופיעות ההגדרות להעברת קטגוריות למיקום גיאוגרפי אחר. לרשימה מלאה של ההגדרות קראו את מסמכי העזרה של
Buckets: advanceRelocateBucket. ההגדרות הנפוצות שצריך לכלול בקובץ:{ "expireTime": "EXPIRE_TIME", "ttl": "TTL_DURATION" }
כאשר:
-
EXPIRE_TIMEהוא הזמן שבו מסתיים זמן ההשבתה של הכתיבה. -
TTL_DURATIONהוא אורך החיים (TTL) של שלב זמן ההשבתה של הכתיבה במהלך תהליך ההעברה. הוא מבוטא כמחרוזת, למשל12hל-12 שעות. הערך שלTTL_DURATIONקובע את משך הזמן המקסימלי המותר לשלב זמן ההשבתה של הכתיבה. אם זמן ההשבתה של הכתיבה חורג מהמגבלה הזו, תהליך ההעברה חוזר אוטומטית לשלב של העברת הדלי, והפעולות של הכתיבה לדלי מופעלות מחדש. הערך צריך להיות בטווח שבין6h(6 שעות) ל-48h(48 שעות). אם לא מציינים ערך, ערך ברירת המחדל הוא12h(12 שעות).
-
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/bucket/BUCKET_NAME/operations/OPERATION_ID/advanceRelocateBucket"
כאשר:
-
JSON_FILE_NAMEהוא השם של קובץ ה-JSON שיצרתם. -
BUCKET_NAMEהוא שם הקטגוריה שרוצים להעביר. -
OPERATION_IDהוא המזהה של הפעולה הממושכת שהתחילה את העברת הקטגוריה למיקום גיאוגרפי אחר. כדי לקבל את רשימת המזהים של פעולות ממושכות עבור דלי, אפשר לעיין במאמר בנושא פעולות: רשימה.
-
אימות תהליך העברת קטגוריות למיקום גיאוגרפי אחר
אחרי שמתחילים את ההעברה, צריך לוודא שהיא הושלמה בהצלחה. בקטע הזה מוסבר איך לוודא שהנתונים הועברו בהצלחה.
כדי לוודא שתהליך ההעברה הושלם בהצלחה, אפשר להשתמש בשיטות הבאות:
דגימה של פעולות ממושכות: העברת קטגוריות למיקום גיאוגרפי אחר היא פעולה ממושכת. כדי לעקוב אחרי התקדמות הפעולה, אתם יכולים לדגום את הפעולה הממושכת באמצעות
operation id. כדי לוודא שהיא הסתיימה בהצלחה, אתם יכולים לבדוק את המצב שלsuccess. כדי לעשות את זה, צריך לשלוח שאילתות לגבי סטטוס הפעולה מדי פעם עד שהיא מגיעה למצב סופי. מידע על מעקב אחר פעולות ממושכות מופיע במאמר שימוש בפעולות ממושכות ב-Cloud Storage.ניתוח רשומות של יומני ביקורת של Cloud: יומני הביקורת של Cloud מספקים תיעוד מפורט של אירועים ופעולות בסביבת Google Cloud . כדי לוודא שההעברה בוצעה בהצלחה, אפשר לנתח את הרשומות ביומני הביקורת של Cloud שמשויכות להעברה. מנתחים את היומנים כדי לחפש שגיאות, אזהרות או התנהגות לא צפויה שעשויות להצביע על בעיות במהלך ההעברה. למידע על צפייה ביומנים של יומני הביקורת של Cloud, אפשר לעיין במאמר צפייה ביומני ביקורת.
רשומות היומן הבאות עוזרות לכם לקבוע אם ההעברה הצליחה או נכשלה:
העברה מוצלחת:
Relocate bucket succeeded. All existing objects are now in the new placement configuration.העברה שנכשלה:
Relocate bucket has failed. Bucket location remains unchanged.
אפשר גם להגדיר התראות באמצעות התראות Pub/Sub, כך שתקבלו התראה כשהאירוע הספציפי של הצלחה או של כשל מופיע ביומנים. מידע על הגדרת התראות Pub/Sub זמין במאמר הגדרת התראות Pub/Sub ל-Cloud Storage.
השלמת המשימות להעברת מאגרי הפוסטים
אחרי שמעבירים את הקטגוריה, מבצעים את השלבים הבאים:
- אופציונלי: משחזרים את אמצעי בקרת הגישה מבוססי התגים בדלי.
- הגדרות קיימות של דוחות מלאי לא נשמרות במהלך תהליך ההעברה, ותצטרכו ליצור אותן מחדש באופן ידני. מידע על יצירת הגדרות של דוח מלאי זמין במאמר יצירת הגדרות של דוח מלאי.
- מעדכנים את ההגדרות של התשתית כקוד, כמו Terraform ו-Google Kubernetes Engine configuration connector, כדי לציין את המיקום החדש של מאגר הנתונים.
- נקודות קצה אזוריות קשורות למיקומים ספציפיים, ותצטרכו לשנות את קוד האפליקציה כדי לשקף את נקודת הקצה החדשה.
איך לטפל בפעולות שנכשלו בהעברת קטגוריות למיקום גיאוגרפי אחר
לפני שאתם מטפלים בפעולות שנכשלו להעברת קטגוריות למיקום גיאוגרפי אחר, כדאי להביא בחשבון את הגורמים הבאים:
אם העברת הקטגוריה למיקום גיאוגרפי אחר נכשלת, יכול להיות שמשאבים מיושנים, כמו קבצים זמניים או עותקי נתונים חלקיים, יישארו ביעד. צריך להמתין 7 עד 14 ימים לפני שמתחילים העברה נוספת של מאגר לאותו יעד. אתם יכולים להתחיל מיד בהעברה של קטגוריית אחסון ליעד אחר.
אם מיקום היעד הוא לא המיקום האופטימלי לנתונים, יכול להיות שתרצו לבטל את ההעברה. עם זאת, אי אפשר להפעיל העברה באופן מיידי. כדי לשמור על יציבות ולמנוע התנגשויות בנתונים, צריך להמתין בין 7 ל-14 ימים לפני שאפשר להעביר את הנתונים בחזרה למיקום המקורי.