פעולות אצווה באחסון

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

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

סקירה כללית

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

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

יתרונות

אלה היתרונות של פעולות רבות על פריטי אחסון:

  • יכולת התאמה לעומס: אפשר לבצע טרנספורמציות על מיליוני אובייקטים באמצעות משימה אחת של פעולות אצווה באחסון.
  • הרצה בלי שרת (serverless): הרצת משימות באצווה בסביבה בלי שרת, כך שלא צריך לנהל את התשתית.
  • אוטומציה: אוטומציה של משימות מורכבות שחוזרות על עצמן כדי לשפר את היעילות התפעולית.
  • זמן פיתוח קצר יותר: לא צריך לכתוב ולתחזק סקריפטים מורכבים בהתאמה אישית.
  • שילוב של קבוצת נתוני Storage Insights: בחירת אובייקטים ישירות על ידי ציון תנאים שתואמים לשדות בקבוצות הנתונים של Storage Insights. הבחירה הישירה הזו מייתרת את הצורך ליצור באופן ידני מניפסט בפורמט CSV או להריץ שאילתות כדי לייצא את מערך הנתונים מ-BigQuery.
  • ביצועים: אפשר להריץ כמה משימות אצווה בו-זמנית כדי להשלים פעולות שרגישות לזמן. לדוגמה, אפשר לעבד עד מיליארד אובייקטים תוך שלוש שעות.
  • ניסיונות חוזרים אוטומטיים: ניסיון חוזר אוטומטי של פעולות שנכשלו.
  • מעקב אחרי משימות: מעקב מפורט אחרי ההתקדמות כדי לנטר את הסטטוס ואת ההשלמה של כל המשימות.

תרחישים לדוגמה

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

  • הגנה על הנתונים: ניהול מצב האבטחה בקנה מידה נרחב. לדוגמה, אתם יכולים להחליף מפתחות הצפנה במיליוני אובייקטים, להחיל או להסיר דגלי object hold כדי לאכוף אי-שינוי, ולתקן רשימות של בקרת גישה (ACL) בכמות גדולה כדי להסיר גישת קריאה ציבורית לנתונים פרטיים.

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

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

  • ניהול עלויות האחסון: אופטימיזציה של ההוצאות ב-Cloud Storage. לדוגמה, אתם יכולים למחוק בכמות גדולה אובייקטים פעילים מיותרים, לנקות רשומות לא עדכניות על ידי מחיקה סופית של גרסאות אובייקטים לא עדכניות, ולהעביר אובייקטים של Standard storage לסוגי אחסון (storage class) בשימוש נדיר יותר, כמו Archive storage, בקנה מידה נרחב.

הגדרות של משימות

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

  • ‫Job name: שם ייחודי לזיהוי המשימה של פעולות רבות על פריטי אחסון. השם הזה משמש למעקב אחרי העבודה, לניטור שלה ולהתייחסות אליה. שמות המשרות הם אלפאנומריים, למשל, job-01.

  • תיאור התפקיד (אופציונלי): תיאור קצר של מטרת התפקיד. התיאור הזה עוזר לכם להבין ולתעד מה המשימה עושה. לדוגמה, Deletes all objects in a bucket.

  • ‫Bucket list: רשימה מופרדת בפסיקים של שם אחד או יותר של קטגוריות שמכילות את האובייקטים שרוצים לעבד. אפשר לציין עד 1,000 קטגוריות מכל פרויקט, כל עוד כל קטגוריה רשומה לתוכנית Storage Intelligence.

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

    • מסננים של מערכי נתונים: אפשר להשתמש ב-Common Expression Language‏ (CEL) כדי לסנן אובייקטים על סמך שדות של מטא-נתונים במערך הנתונים של Storage Insights. אפשר להריץ משימות באצווה על אובייקטים בכמה קטגוריות בפרויקט. כשמשתמשים במסנני קבוצת נתונים לבחירת אובייקטים, פעולות רבות על פריטי אחסון מכוונות לאובייקטים שפעילים ועדכניים במועד הצילום של קבוצת הנתונים שנבחרה. לכן, המשימה כוללת רק אובייקטים עם ערך NULL גם ב-softDeleteTime וגם ב-timeDeleted בזמן של תמונת המצב. פרטים נוספים זמינים במאמר יצירת משימה באמצעות מסננים מתקדמים.

    • מניפסט: יוצרים מניפסט ומציינים את המיקום שלו כשיוצרים את המשימה של פעולות רבות על פריטי אחסון. קובץ המניפסט הוא קובץ CSV שמועלה אל Cloud de Confiance עם רשימת האובייקטים לעיבוד. כל שורה במניפסט צריכה לכלול את bucket ו-name של האובייקט. אפשר גם לציין את ה-generation של האובייקט. אם משמיטים את הערך של generation, המשימה מעבדת את הגרסה הפעילה של האובייקט.

      קובץ המניפסט צריך לכלול שורת כותרת בפורמט הבא:

      bucket,name,generation

      דוגמה למניפסט:

      bucket,name,generation
      bucket_1,object_1,generation_1
      bucket_1,object_2,generation_2
      bucket_2,object_3,generation_3
      

      אפשר גם ליצור מניפסט באמצעות מערכי נתונים של Storage Insights. פרטים נוספים זמינים במאמר יצירת מניפסט באמצעות מערכי נתונים של Storage Insights.

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

  • סוג המשימה: פעולות באצווה ב-Storage תומכות בסוגי המשימות הבאים, ומריצות משימה אחת לכל פעולה באצווה.

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

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

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

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

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

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

    • עדכונים ברשימות של בקרת גישה (ACL) לאובייקטים: אפשר לעדכן רשימות ACL של אובייקטים כדי להוסיף, לעדכן או להסיר הרשאות לישויות כמו allUsers ו-allAuthenticatedUsers.

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

    • מספר האובייקטים שהעבודה משפיעה עליהם.

    • שגיאות אפשריות.

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

תמחור

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

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

מגבלות

יש מגבלות על פעולות רבות על פריטי אחסון:

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

  • אפשר לכלול עד 1,000 קידומות של אובייקטים במשימה אחת.

  • הפעלה של יותר מ-10 משימות בו-זמנית באותה קטגוריה פוגעת בביצועים של כל משימה.

  • אפשר להריץ משימה באצווה אחת על עד 1,000 קטגוריות בפרויקט.

  • מסנני Bucket ומסנני אובייקטים מוגבלים ל-150 תווים לכל היותר.

  • בפעולות רבות על פריטי אחסון, המערכת בוחרת באופן אוטומטי את זמן תמונת המצב של מערך הנתונים של Storage Insights על סמך המניפסט הגלובלי. הבחירה הזו מתאימה את כל הקטגוריות המטורגטות לאותו זמן של תמונת המצב לצורך גילוי אובייקטים. השעה הגלובלית של הצילום שנבחרה מוחזרת בתגובה מה-API. אם ה-snapshot התבצע לפני יותר מיומיים, יצירת המשימה תיכשל. במאמר פתרון בעיות בפעולות רבות על פריטי אחסון מוסבר איך לפתור את הבעיה.

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

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

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