מידע על מחיקת אובייקטים

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

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

במאמר מחיקת אובייקטים מוסבר איך למחוק אובייקטים.

מחיקת אובייקט יחיד

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

  • תיקון שגיאות: הסרת קובץ שהועלה בטעות או קובץ שמכיל נתונים שגויים.

  • ניקוי: הסרה ידנית של קבצים זמניים או יומנים אחרי השלמת משימה.

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

  • אבטחה ותאימות: מחיקת אובייקטים כחלק מהסרת מידע רגיש.

כלים למחיקת אובייקט יחיד

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

כלי תיאור
Google Cloud console מחיקת אובייקט דרך מסוף Google Cloud .
Google Cloud CLI מחיקת אובייקט באמצעות הפקודה gcloud storage rm.
ספריות לקוח מחיקת אובייקט באופן פרוגרמטי באמצעות שפה נתמכת כמו C++‎,‏ C#‎,‏ Go,‏ Java,‏ Node.js,‏ PHP,‏ Python או Ruby.
REST APIs מחיקת אובייקט באמצעות API בארכיטקטורת REST בפורמט JSON ו-XML.

מחיקת כמות גדולה של אובייקטים

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

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

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

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

  • ניקוי צינור הנתונים: הסרת קבצים של עיבוד ביניים אחרי שנוצר דוח סופי או מערך נתונים.

כלים למחיקת אובייקטים בכמות גדולה

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

כלי תיאור
מחיקה של כמה אובייקטים באמצעות API בפורמט XML

שיטה מבוססת-קוד למחיקה של עד 1,000 אובייקטים בבקשת POST אחת. ה-API בפורמט XML למחיקה של אובייקטים מרובים מיועד לפעולה הדדית עם Amazon S3 API. כתוצאה מכך, אתם יכולים להשתמש בכלים, בספריות ובתהליכי העבודה הקיימים של Amazon S3 כדי לנהל אובייקטים ב-Cloud Storage. ‫API בפורמט XML שימושי אם אתם מעבירים נתונים או מנהלים משאבים בשתי הפלטפורמות.

כשמשתמשים ב-API בפורמט XML כדי למחוק כמה אובייקטים, Cloud Storage יוצר יומני ביקורת של גישה לנתונים. היומנים האלה כוללים פרטים על הבקשה הכוללת ועל מחיקות של אובייקטים ספציפיים, בתנאי שמפעילים את יומני הביקורת Data Access. פרטים נוספים זמינים במאמר בנושא יומני ביקורת של API בפורמט XML למחיקת כמה אובייקטים.

ל-API בפורמט XML למחיקה של אובייקטים מרובים יש את המגבלות הבאות:

  • עקיפת מצב ניהול: בניגוד ל-Amazon S3 שמאפשר מחיקה של אובייקטים שנעולים על ידי סוג ניהול באמצעות ציון הכותרת x-amz-bypass-governance-retention, ‏ Cloud Storage לא תומך בעקיפת מצב ניהול במהלך מחיקות. ‫Cloud Storage אוכף מדיניות שמירת אובייקטים כדי לעזור לשמור על הנתונים ללא שינוי.
  • מחיקת סמני מחיקה: סמני מחיקה של Amazon S3 לא נתמכים ב-Cloud Storage, לא במחיקה של אובייקט יחיד ולא במחיקה של כמה אובייקטים. כדי לשחזר אובייקט לא עדכני ב-Cloud Storage, צריך להשתמש בבקשות PUT כדי להעתיק את הגרסה הנדרשת לאובייקט הפעיל.
  • מחיקות מותנות: Cloud Storage multi-object delete API לא תומך במחיקות מותנות שמבוססות על ETag,‏ Last-Modified או Size. בקשות שכוללות את הפרמטרים האלה גורמות לשגיאה 400. כדי לבצע פעולות מותנות ב-Cloud Storage, משתמשים בכותרות כמו x-goog-if-generation-match או x-goog-if-metageneration-match.
Google Cloud console מומלץ להשתמש במסוף Google Cloud כשרוצים למחוק עד מיליון אובייקטים. אחרי ששולחים בקשת מחיקה, התהליך מתבצע ברקע. אפשר לבדוק את הסטטוס של המחיקה של מספר פריטים בו זמנית בלחיצה על הלחצן Notifications () בכותרת של Google Cloud המסוף.
פעולות באצווה ב-Storage

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

מומלץ להשתמש בפעולות אצווה באחסון אם רוצים:

  • מחיקת מיליוני או מיליארדי אובייקטים.
  • שיפור האמינות באמצעות מעקב, ניסיונות חוזרים וטיפול בשגיאות.
  • הפחתת התקורה בצד הלקוח בהשוואה לסקריפטים של קריאות נפרדות ל-API.
gcloud storage rm --recursive פקודה ב-Google Cloud CLI למחיקת כל האובייקטים עם קידומת משותפת. מתאים למשימות בכמות גדולה בקנה מידה קטן עד בינוני באמצעות ה-CLI.
ניהול מחזור החיים של אובייקטים תכונה בצד השרת שמוחקת אובייקטים באופן אוטומטי על סמך כללים שאתם מגדירים, כמו גיל האובייקט או סוג האחסון. כדי למחוק אובייקטים בקטגוריה בכמות גדולה, צריך להגדיר כלל למחזור החיים בקטגוריה, כאשר תנאי הערך של Age מוגדר ל-0 ימים והפעולה מוגדרת ל-delete. אחרי שמגדירים את הכלל, Cloud Storage מבצע את המחיקה בכמות גדולה באופן אסינכרוני.
בקשות באצווה כשמשתמשים בספריות לקוח מסוימות או כשמשתמשים ישירות ב-API בפורמט JSON, אפשר לקבץ את בקשות המחיקה כדי לצמצם את מספר חיבורי ה-HTTP שצריך לבצע.

בחירת שיטת מחיקה

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

  • אם אתם צריכים למחוק אובייקט אחד או רק כמה אובייקטים ספציפיים, אתם יכולים להשתמש בGoogle Cloud מסוף, gcloud storage rm או בקריאות API בודדות באמצעות ספריות לקוח או ממשקי API מסוג REST. פרטים נוספים מופיעים במאמר בנושא מחיקת אובייקט יחיד.
  • אם אתם צריכים למחוק עד 1,000 אובייקטים בבקשת API אחת, השתמשו ב-API בפורמט XML למחיקת כמה אובייקטים, ב-Amazon S3 CLI או בספריית לקוח שתואמת ל-S3, כמו Boto3. פרטים נוספים מופיעים במאמר בנושא מחיקת כמות גדולה של אובייקטים.
  • אם מוחקים הרבה אובייקטים עם קידומת שם משותפת, משתמשים בפקודה gcloud storage rm --recursive. מידע נוסף מופיע במאמר מחיקת אובייקטים בכמות גדולה באמצעות Google Cloud CLI.
  • אם אתם צריכים למחוק מיליוני או מיליארדי אובייקטים, כדאי להשתמש בפעולות אצווה ב-Storage כדי לבצע מחיקות אמינות בקנה מידה גדול.
  • אם אתם צריכים למחוק אובייקטים באופן אוטומטי כשהם עומדים בקריטריונים מסוימים, אתם יכולים להשתמש בניהול מחזור חיים של אובייקטים.

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