אתם יכולים להעביר קטגוריה כשאתם צריכים להעביר את הנתונים ממיקום אחד ב-Cloud Storage למיקום אחר. התהליך הזה עוזר לעמוד בדרישות של מיקום אחסון הנתונים, לצמצם את זמן האחזור ברשת לעומסי עבודה או לשנות את סוגי המיקומים.
לסקירה כללית על אופן הפעולה של העברת קטגוריות למיקום גיאוגרפי אחר, ראו העברת קטגוריות למיקום גיאוגרפי אחר.
לפני שמתחילים
לפני שמעבירים קטגוריות, צריך לבצע את הפעולות הבאות:
קובעים את סוג העברת הקטגוריות למיקום גיאוגרפי אחר כדי להבין אם נדרש זמן השבתה של פעולות הכתיבה.
אם העברת הקטגוריה למיקום גיאוגרפי אחר כוללת זמן השבתה של פעולות כתיבה, מפעילים מחיקה זמנית.
בודקים את המכסות והמגבלות כדי לוודא שבמיקום החדש יש מספיק מכסות לנתונים של הקטגוריה.
קוראים את המגבלות על העברת קטגוריות למיקום גיאוגרפי אחר.
אם אתם משתמשים בדוחות מלאי, שמרו את ההגדרות שלכם.
מקבלים את התפקידים הנדרשים, שמתוארים בקטע הבא.
קבלת התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להעברת קטגוריות, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של Storage (roles/storage.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות להעברת קטגוריות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להעביר קטגוריות, צריך את ההרשאות הבאות:
-
כדי להעביר קטגוריה:
storage.buckets.relocate -
כדי לראות את הסטטוס של פעולת העברת קטגוריה למיקום גיאוגרפי אחר:
storage.bucketOperations.get -
כדי לראות את רשימת הפעולות של העברת קטגוריות למיקום גיאוגרפי אחר בפרויקט:
storage.bucketOperations.list -
כדי לבטל פעולה של העברת קטגוריה למיקום גיאוגרפי אחר:
storage.bucketOperations.cancel -
כדי לראות את המטא-נתונים של קטגוריה בשלבים של הרצה לניסיון והעברת קטגוריות למיקום גיאוגרפי אחר:
storage.buckets.get -
כדי לקבל אובייקט בקטגוריה שרוצים להעביר:
storage.objects.get -
כדי להציג את רשימת האובייקטים בקטגוריה שרוצים להעביר:
storage.objects.list
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
העברת קטגוריות למיקום גיאוגרפי אחר
בקטע הזה מוסבר איך מעבירים קטגוריות של Cloud Storage ממיקום אחד לאחר.
כדי להעביר קטגוריה:
מידע נוסף על השלבים האלה זמין במאמר הסבר על תהליך העברת הקטגוריות למיקום גיאוגרפי אחר.
בדיקת העברת הקטגוריות למיקום גיאוגרפי אחר באמצעות הרצה (אופציונלי)
כדי לצמצם את הבעיות שעלולות לצוץ במהלך העברת הקטגוריות למיקום גיאוגרפי אחר, מומלץ לבצע הרצה על יבש כדי לבדוק את התהליך מקצה לקצה. הרצה על יבש מדמה את תהליך העברת הקטגוריות למיקום גיאוגרפי אחר בלי להעביר נתונים, וכך עוזרת לכם לזהות ולפתור בעיות בשלב מוקדם. ההרצה היבשה בודקת אם יש את חוסר ההתאמות הבאות:
- מפתחות הצפנה בניהול הלקוח (CMEK) או מפתחות הצפנה באספקת הלקוח (CSEK)
- כללי מדיניות שמירת נתונים של קטגוריות ואובייקטים
- אובייקטים עם החזקות זמניות
- העלאות מרובות חלקים
הרצה על יבש לא יכולה לזהות כל בעיה אפשרית, כי חלק מהבעיות עשויות לצוץ רק במהלך מיגרציה פעילה בגלל גורמים כמו זמינות המשאבים בזמן אמת. עם זאת, היא מפחיתה את הסיכון להיתקל בבעיות שגוזלות זמן במהלך ההעברה בפועל.
המסוף
- במסוף Cloud de Confiance , נכנסים לדף 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.
- לוחצים על התחלה.
- בתיבת הדו-שיח לאישור 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.s3nsapis.fr/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* } }אם ההרצה הניסיונית חושפת בעיות, צריך לטפל בהן לפני שממשיכים לשלב התחלת ההעברה.
-
התחלת העברת קטגוריות למיקום גיאוגרפי אחר
המסוף
- במסוף Cloud de Confiance , נכנסים לדף 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.s3nsapis.fr/storage/v1/b/BUCKET_NAME/relocate"
כאשר:
-
JSON_FILE_NAMEהוא השם של קובץ ה-JSON שיצרתם. -
BUCKET_NAMEהוא שם הקטגוריה שרוצים להעביר.
-
מעקב אחרי תהליך הרילוקיישן
המסוף
כדי לעקוב אחרי ההתקדמות של ההרצה היבשה או של תהליך הרילוקיישן:
- במסוף Cloud de Confiance , נכנסים לדף 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, תוכלו להיעזר בקטע מגבלות.
התחלת שלב הסנכרון הסופי
בהעברות שדורשות זמן השבתה של כתיבה, תצטרכו להתחיל את הסנכרון הסופי. שלב הסנכרון הסופי כולל תקופה שבה אי אפשר לבצע פעולות כתיבה בקטגוריה. מומלץ לתזמן את שלב הסנכרון הסופי למועד שבו ההפרעה לאפליקציות תהיה מינימלית.
המסוף
כדי להתחיל את שלב הסנכרון הסופי:
- במסוף Cloud de Confiance , נכנסים לדף 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.s3nsapis.fr/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 מספקים תיעוד מפורט של אירועים ופעולות בסביבת Cloud de Confiance by S3NS . כדי לוודא שההעברה בוצעה בהצלחה, אתם יכולים לנתח את הרשומות ביומני הביקורת של 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, כדי לציין את המיקום החדש של הקטגוריה.
- נקודות קצה אזוריות מקושרות למיקומים ספציפיים, וצריך לשנות את קוד האפליקציה כדי לשקף את נקודת הקצה החדשה.
איך לטפל בפעולות שנכשלו בהעברת קטגוריות למיקום גיאוגרפי אחר
לפני שאתם מטפלים בפעולות שנכשלו להעברת קטגוריות למיקום גיאוגרפי אחר, כדאי להביא בחשבון את הגורמים הבאים:
אם העברת הקטגוריה למיקום גיאוגרפי אחר נכשלת, יכול להיות שמשאבים מיושנים, כמו קבצים זמניים או עותקי נתונים חלקיים, יישארו ביעד. צריך להמתין 7 עד 14 ימים לפני שמתחילים העברה נוספת של קטגוריה לאותו יעד. אתם יכולים להתחיל מיד בהעברת קטגוריות למיקום גיאוגרפי אחר.
אם מיקום היעד הוא לא המיקום האופטימלי לנתונים, יכול להיות שתרצו לבטל את ההעברה. אבל אי אפשר להתחיל את ההעברה באופן מיידי. כדי לשמור על יציבות ולמנוע התנגשויות בנתונים, צריך להמתין בין 7 ל-14 ימים לפני שאפשר להתחיל העברה חזרה למיקום המקור.