העברת קטגוריות

אתם יכולים להעביר קטגוריה כשאתם צריכים להעביר את הנתונים ממיקום אחד ב-Cloud Storage למיקום אחר. התהליך הזה עוזר לעמוד בדרישות של מיקום אחסון הנתונים, לצמצם את זמן האחזור ברשת לעומסי עבודה או לשנות את סוגי המיקומים.

לסקירה כללית על אופן הפעולה של העברת קטגוריות למיקום גיאוגרפי אחר, ראו העברת קטגוריות למיקום גיאוגרפי אחר.

לפני שמתחילים

לפני שמעבירים קטגוריות, צריך לבצע את הפעולות הבאות:

  1. הגדרת Storage Intelligence.

  2. קובעים את סוג העברת הקטגוריות למיקום גיאוגרפי אחר כדי להבין אם נדרש זמן השבתה של פעולות הכתיבה.

  3. אם העברת הקטגוריה למיקום גיאוגרפי אחר כוללת זמן השבתה של פעולות כתיבה, מפעילים מחיקה זמנית.

  4. בודקים את המכסות והמגבלות כדי לוודא שבמיקום החדש יש מספיק מכסות לנתונים של הקטגוריה.

  5. קוראים את המגבלות על העברת קטגוריות למיקום גיאוגרפי אחר.

  6. מסירים את כל התגים הקיימים של הקטגוריה.

  7. אם אתם משתמשים בדוחות מלאי, שמרו את ההגדרות שלכם.

  8. מקבלים את התפקידים הנדרשים, שמתוארים בקטע הבא.

קבלת התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות להעברת קטגוריות, צריך לבקש מהאדמין להקצות לכם ב-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 ממיקום אחד לאחר.

כדי להעביר קטגוריה:

  1. בדיקת העברת הקטגוריות למיקום גיאוגרפי אחר באמצעות הרצת ניסיון (אופציונלי)

  2. התחלת התהליך של העברת הקטגוריה למיקום גיאוגרפי אחר

  3. התחלת שלב הסנכרון הסופי

מידע נוסף על השלבים האלה זמין במאמר הסבר על תהליך העברת הקטגוריות למיקום גיאוגרפי אחר.

בדיקת העברת הקטגוריות למיקום גיאוגרפי אחר באמצעות הרצה (אופציונלי)

כדי לצמצם את הבעיות שעלולות לצוץ במהלך העברת הקטגוריות למיקום גיאוגרפי אחר, מומלץ לבצע הרצה על יבש כדי לבדוק את התהליך מקצה לקצה. הרצה על יבש מדמה את תהליך העברת הקטגוריות למיקום גיאוגרפי אחר בלי להעביר נתונים, וכך עוזרת לכם לזהות ולפתור בעיות בשלב מוקדם. ההרצה היבשה בודקת אם יש את חוסר ההתאמות הבאות:

הרצה על יבש לא יכולה לזהות כל בעיה אפשרית, כי חלק מהבעיות עשויות לצוץ רק במהלך מיגרציה פעילה בגלל גורמים כמו זמינות המשאבים בזמן אמת. עם זאת, היא מפחיתה את הסיכון להיתקל בבעיות שגוזלות זמן במהלך ההעברה בפועל.

המסוף

  1. במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.

    כניסה לדף Buckets

  2. ברשימת הקטגוריות, לוחצים על שם הקטגוריה שרוצים להעביר.
  3. בדף Bucket details, לוחצים על הכרטיסייה Configuration.
  4. בקטע סקירה כללית, לוחצים על עריכה לצד השדה מיקום.
  5. בדף Relocate bucket, מזינים את המיקום החדש של הקטגוריה. אחרי כל אחד מהשלבים הבאים, לוחצים על המשך כדי לעבור לשלב הבא:
    1. בקטע Confirm the bucket you plan to relocate, בודקים את הקטגוריה ואת המיקום שלה.
    2. בקטע לפני שממשיכים, בודקים את ההגדרות שחוסמות את ההעברה. אם יש הגבלה על הקטגוריה, אפשר להשתמש ב-Storage Transfer Service כפתרון חלופי.
    3. בקטע Choose where to relocate your bucket:

      1. בוחרים סוג מיקום.
      2. בוחרים מיקום שבו יישמרו נתוני האובייקטים בקטגוריה.

        בהתאם למיקום המקור והיעד, תקבלו הודעה אם נדרש זמן השבתה לכתיבה. במאמר סוגי העברות מוסבר על סוגי ההעברות וזמני ההשבתה.

    4. בקטע בחירת אופן הפעולה, לוחצים על התחלה בהרצה יבשה (מומלץ). הרצה לניסיון מדמה את הרילוקיישן כדי לזהות בעיות פוטנציאליות בלי להעביר נתונים.
    5. לוחצים על Continue.
  6. לוחצים על התחלה.
  7. בתיבת הדו-שיח לאישור 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

  1. להתקין ולהפעיל את ה-CLI של gcloud, שמאפשר ליצור אסימון גישה לכותרת Authorization.

  2. יוצרים קובץ JSON שבו מופיעות ההגדרות של הקטגוריה. הקובץ חייב להכיל את הפרמטרים destinationLocation ו-validateOnly. לרשימה מלאה של ההגדרות קראו את מסמכי העזרה של Buckets: relocate. ההגדרות הנפוצות שצריך לכלול בקובץ:

    {
      "destinationLocation": "DESTINATION_LOCATION",
      "destinationCustomPlacementConfig": {
        "dataLocations": [
          LOCATIONS,
            ...
            ]
        },
      "validateOnly": "true"
      }

    כאשר:

    • ‫DESTINATION_LOCATION הוא מיקום היעד של הקטגוריה.
    • ‫LOCATIONS היא רשימה של קודי מיקום שמשמשים להגדרה בשני אזורים.
    • הערך של validateOnly מוגדר כ-true כדי לבצע הרצת בדיקה.
  3. משתמשים ב-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*
          }
        }

      אם ההרצה הניסיונית חושפת בעיות, צריך לטפל בהן לפני שממשיכים לשלב התחלת ההעברה.

התחלת העברת קטגוריות למיקום גיאוגרפי אחר

המסוף

  1. במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.

    כניסה לדף Buckets

  2. ברשימת הקטגוריות, לוחצים על שם הקטגוריה שרוצים להעביר.
  3. בדף Bucket details, לוחצים על הכרטיסייה Configuration.
  4. בקטע סקירה כללית, לוחצים על עריכה לצד השדה מיקום.
  5. בדף Relocate bucket, מזינים את המיקום החדש של הקטגוריה. אחרי כל אחד מהשלבים הבאים, לוחצים על המשך כדי לעבור לשלב הבא:
    1. בקטע Confirm the bucket you plan to relocate, בודקים את הקטגוריה ואת המיקום שלה.
    2. בקטע לפני שממשיכים, בודקים את ההגדרות שחוסמות את ההעברה. אם יש הגבלה על הקטגוריה, אפשר להשתמש ב-Storage Transfer Service כפתרון חלופי.
    3. בקטע Choose where to relocate your bucket:

      1. בוחרים סוג מיקום.
      2. בוחרים מיקום שבו יישמרו נתוני האובייקטים בקטגוריה.

        בהתאם למיקום המקור והיעד, תקבלו הודעה אם נדרש זמן השבתה לכתיבה. במאמר סוגי העברות מוסבר על סוגי ההעברות וזמני ההשבתה.

    4. בקטע איך היית רוצה להמשיך?, לוחצים על העברה עכשיו.
    5. לוחצים על Continue.
  6. כדי להתחיל בתהליך ההעברה, לוחצים על התחלה.
  7. בתיבת הדו-שיח לאישור 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

  1. להתקין ולהפעיל את ה-CLI של gcloud, שמאפשר ליצור אסימון גישה לכותרת Authorization.

  2. יוצרים קובץ JSON עם ההגדרות של הקטגוריה. לרשימה מלאה של ההגדרות קראו את מסמכי העזרה של Buckets: relocate. ההגדרות הנפוצות שצריך לכלול בקובץ:

    {
      "destinationLocation": "DESTINATION_LOCATION",
      "destinationCustomPlacementConfig": {
      "dataLocations": [
        LOCATIONS,
        ...
        ]
        },
      "validateOnly": "false"
      }

    כאשר:

    • ‫DESTINATION_LOCATION הוא מיקום היעד של הקטגוריה.
    • ‫LOCATIONS היא רשימה של קודי מיקום שמשמשים להגדרה בשני אזורים.
    • הערך של validateOnly מוגדר כ-false כדי להתחיל את העברת הקטגוריה למיקום גיאוגרפי אחר.
  3. משתמשים ב-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 הוא שם הקטגוריה שרוצים להעביר.

מעקב אחרי תהליך הרילוקיישן

המסוף

כדי לעקוב אחרי ההתקדמות של ההרצה היבשה או של תהליך הרילוקיישן:

  1. במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.

    כניסה לדף Buckets

  2. ברשימת הקטגוריות, לוחצים על השם של הקטגוריה שרוצים להעביר.

  3. בדף Bucket details, לוחצים על הכרטיסייה Operations.

  4. ברשימת הפעולות שמופיעה, לוחצים על ההרצה לניסיון או על פעולת ההעברה כדי לראות את הפרטים שלה.

בדף פרטי הפעולה מוצגים סיכום ההעברה, מדדים עיקריים וסיכום שגיאות.

שורת הפקודה

אחרי שמתחילים להעביר קטגוריה למיקום גיאוגרפי אחר, מתחילה פעולה ממושכת. תקבלו מזהה פעולה ותיאור של הפעולה. כדי לעקוב אחרי ההתקדמות וההשלמה של תהליך ההעברה, מבקשים את הפרטים של הפעולה הממושכת.

‫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 מציין את המוכנות להתחלת שלב הסנכרון הסופי.
  • ‫READY: מציין שאפשר להתחיל את שלב הסנכרון הסופי. עם זאת, מומלץ להמתין עד שהערך של השדה progressPercent יהיה 99.
  • ‫WAITING_ON_SYNC: מציין שאי אפשר להתחיל את שלב הסנכרון הסופי.
  • ‫NOT_REQUIRED: מציין ששלב הסנכרון הסופי לא נחוץ לקטגוריה הזו ואפשר לדלג עליו.
  • ‫BLOCKED_ON_ERRORS: מציין ששלב הסיום מושהה באופן זמני בגלל שגיאות. כדי להמשיך לשלב הבא, צריך לפתור את השגיאות.
  • ‫RUNNING: מציין ששלב הסיום מתבצע.
  • ‫FINALIZED: מציין ששלב הסגירה הסתיים בהצלחה.
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 המצב הכללי של פעולת העברת קטגוריות למיקום גיאוגרפי אחר.
  • ‫SYNCING: מציין שבשלב העברת הקטגוריה למיקום גיאוגרפי אחר, מתבצעת העתקה של אובייקטים מקטגוריית המקור לקטגוריית היעד.
  • ‫FINALIZING: מציין ששלב הסגירה התחיל.
  • ‫FAILED: מציין שבשלב העברת הקטגוריה למיקום גיאוגרפי אחר אירעה שגיאה והוא לא הושלם.
  • ‫SUCCEEDED: מציין ששלב העברת הקטגוריה למיקום גיאוגרפי אחר הסתיים בהצלחה.
  • ‫CANCELLED: מציין ששלב העברת הקטגוריה למיקום אחר בוטל.
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, תוכלו להיעזר בקטע מגבלות.

התחלת שלב הסנכרון הסופי

בהעברות שדורשות זמן השבתה של כתיבה, תצטרכו להתחיל את הסנכרון הסופי. שלב הסנכרון הסופי כולל תקופה שבה אי אפשר לבצע פעולות כתיבה בקטגוריה. מומלץ לתזמן את שלב הסנכרון הסופי למועד שבו ההפרעה לאפליקציות תהיה מינימלית.

המסוף

כדי להתחיל את שלב הסנכרון הסופי:

  1. במסוף Cloud de Confiance , נכנסים לדף Buckets של Cloud Storage.

    כניסה לדף Buckets

  2. ברשימת הקטגוריות, לוחצים על השם של הקטגוריה שרוצים להעביר.

  3. בדף Bucket details, לוחצים על הכרטיסייה Operations.

  4. ברשימת הפעולות בקטגוריה, לוחצים על פעולת ההעברה כדי לפתוח את דף הפרטים של הפעולה. בדף פרטי הפעולה, כשהעתקת הנתונים הושלמה ב-99% לפחות, מופיע סרגל הודעות שמציין שזה הזמן האופטימלי להתחיל את הסנכרון הסופי.

  5. אופציונלי: כדי להגדיר את זמן ההשבתה המקסימלי המותר לכתיבה, לוחצים על Set maximum allowed downtime (TTL) ומציינים את משך זמן ההשבתה המקסימלי.

  6. לוחצים על התחלת הסנכרון הסופי.

  7. בתיבת הדו-שיח שמופיעה, לוחצים על 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 לפני שמתחילים את שלב הסנכרון הסופי.

  1. להתקין ולהפעיל את ה-CLI של gcloud, שמאפשר ליצור אסימון גישה לכותרת Authorization.

  2. יוצרים קובץ JSON שבו מופיעות ההגדרות להעברת הקטגוריה למיקום גיאוגרפי אחר. לרשימה מלאה של ההגדרות קראו את מסמכי העזרה של Buckets: advanceRelocateBucket. ההגדרות הנפוצות שצריך לכלול בקובץ:

    {
    "expireTime": "EXPIRE_TIME",
    "ttl": "TTL_DURATION"
    }

    כאשר:

    • ‫EXPIRE_TIME הוא הזמן שבו מסתיים זמן ההשבתה של הכתיבה.
    • ‫TTL_DURATION הוא אורך החיים (TTL) של שלב זמן ההשבתה של הכתיבה במהלך תהליך ההעברה. הוא מבוטא כמחרוזת, למשל 12h ל-12 שעות. הערך של TTL_DURATION קובע את משך הזמן המקסימלי המותר לשלב זמן ההשבתה של הכתיבה. אם זמן ההשבתה של פעולות הכתיבה חורג מהמגבלה הזו, תהליך ההעברה חוזר באופן אוטומטי לשלב של העברת קטגוריות למיקום גיאוגרפי אחר, ופעולות הכתיבה בקטגוריה מופעלות מחדש. הערך חייב להיות בטווח שבין 6h (6 שעות) ל-48h (48 שעות). אם לא מציינים ערך, ערך ברירת המחדל הוא 12h (12 שעות).
  3. משתמשים ב-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.

השלמת המשימות אחרי העברת הקטגוריות למיקום גיאוגרפי אחר

אחרי שמעבירים את הקטגוריה, מבצעים את השלבים הבאים:

  1. אופציונלי: משחזרים את כל אמצעי בקרת הגישה מבוססי התגים בקטגוריה.
  2. הגדרות קיימות של דוחות מלאי לא נשמרות במהלך תהליך ההעברה, ותצטרכו ליצור אותן מחדש באופן ידני. איך יוצרים הגדרה של דוח מלאי
  3. מעדכנים את התשתית כהגדרות קוד, כמו Terraform ומחבר ההגדרות של Google Kubernetes Engine, כדי לציין את המיקום החדש של הקטגוריה.
  4. נקודות קצה אזוריות מקושרות למיקומים ספציפיים, וצריך לשנות את קוד האפליקציה כדי לשקף את נקודת הקצה החדשה.

איך לטפל בפעולות שנכשלו בהעברת קטגוריות למיקום גיאוגרפי אחר

לפני שאתם מטפלים בפעולות שנכשלו להעברת קטגוריות למיקום גיאוגרפי אחר, כדאי להביא בחשבון את הגורמים הבאים:

  • אם העברת הקטגוריה למיקום גיאוגרפי אחר נכשלת, יכול להיות שמשאבים מיושנים, כמו קבצים זמניים או עותקי נתונים חלקיים, יישארו ביעד. צריך להמתין 7 עד 14 ימים לפני שמתחילים העברה נוספת של קטגוריה לאותו יעד. אתם יכולים להתחיל מיד בהעברת קטגוריות למיקום גיאוגרפי אחר.

  • אם מיקום היעד הוא לא המיקום האופטימלי לנתונים, יכול להיות שתרצו לבטל את ההעברה. אבל אי אפשר להתחיל את ההעברה באופן מיידי. כדי לשמור על יציבות ולמנוע התנגשויות בנתונים, צריך להמתין בין 7 ל-14 ימים לפני שאפשר להתחיל העברה חזרה למיקום המקור.

המאמרים הבאים