במאמר הזה מתוארות פעולות באצווה באחסון, יכולת של Cloud Storage שמאפשרת לבצע פעולות על מיליארדי אובייקטים באופן בלי שרת (serverless). באמצעות פעולות אצווה של אחסון, אתם יכולים לבצע אוטומציה של פעולות API בקנה מידה גדול על מיליארדי אובייקטים, וכך לקצר את זמן הפיתוח שנדרש כדי לכתוב ולתחזק סקריפטים לכל בקשה.
במאמר יצירה וניהול של משימות של פעולות אצווה באחסון מוסבר איך ליצור משימות של פעולות אצווה באחסון.
סקירה כללית
פעולות אצווה ב-Storage מאפשרות להריץ אחת מתוך ארבע טרנספורמציות על כמה אובייקטים בו-זמנית: קביעת דגל object hold, מחיקת אובייקט, עדכון מטא-נתונים של אובייקט וכתיבה מחדש של אובייקטים. כדי להשתמש בפעולות אצווה של אחסון, יוצרים הגדרת משימה שמגדירה אילו טרנספורמציות יחולו על אילו אובייקטים.
כשיוצרים פעולה באצווה, מוחזרת פעולה ממושכת (LRO) שמציינת את הסטטוס של הבקשה: האם ההמרה הוחלה על כל האובייקטים שצוינו בבקשה.
יתרונות
- יכולת התאמה לעומס: אפשר לבצע טרנספורמציות על מיליוני אובייקטים באמצעות משימת פעולות באצ' אחת באחסון.
- הרצה ללא שרת: הרצת משימות אצווה בסביבה ללא שרת, בלי צורך לנהל תשתית.
- אוטומציה: אוטומציה של משימות מורכבות וחוזרות על עצמן, לשיפור היעילות התפעולית.
- קיצור זמן הפיתוח: לא צריך לכתוב ולתחזק סקריפטים מותאמים אישית ומורכבים.
- ביצועים: השלמת פעולות רגישות לזמן במסגרת הזמן הנדרשת. אם מריצים כמה משימות אצווה בו-זמנית בקטגוריה, אפשר לעבד עד מיליארד אובייקטים תוך שלוש שעות.
- ניסיונות חוזרים אוטומטיים: ניסיונות חוזרים אוטומטיים לפעולות שנכשלו.
- מעקב אחרי משימות: מעקב מפורט אחרי ההתקדמות כדי לנטר את הסטטוס ואת ההשלמה של כל המשימות.
תרחישים לדוגמה
כשמשתמשים בפעולות אצווה של אחסון עם מערכי נתונים של Storage Insights, אפשר לבצע את המשימות הבאות:
ניהול אבטחה:
- מגדירים מפתחות הצפנה למספר אובייקטים באמצעות השיטה לשכתוב אובייקט.
- אפשר להחיל השהיות על אובייקטים או להסיר אותן כדי לשלוט בשינוי של אובייקטים.
עמידה בדרישות:
- שימוש בהשהיות אובייקטים כדי לעמוד בדרישות שימור נתונים לצורך עמידה בתקנות.
- הגדרת תצורות של שמירת אובייקטים כדי לנהל את מחזורי החיים של הנתונים ואת מדיניות התאימות.
- מחיקת נתונים בין מסגרות זמן ספציפיות, כדי לעמוד בדרישות של מחיקה סופית.
התאמת נתונים: ביצוע עדכונים בכמות גדולה של מטא-נתונים של אובייקטים.
אופטימיזציה של עלויות: מחיקה של כמות גדולה של אובייקטים בקטגוריות של Cloud Storage כדי להפחית את עלויות האחסון.
הגדרות של משימות
כדי ליצור משימת פעולות אצווה של אחסון, צריך להגדיר את הגדרות המשימה הבאות. הגדרות המשימה הן פרמטרים שקובעים איך המשימה מוגדרת בהתאם לדרישות עיבוד שונות.
Job name: שם ייחודי לזיהוי של עבודת אצווה של פעולות אחסון. המספר הזה משמש למעקב אחרי המשרה, לניטור שלה ולהפניה אליה. שמות המשרות מכילים אותיות וספרות, למשל
job-01.תיאור התפקיד (אופציונלי): תיאור קצר של מטרת התפקיד. כך אפשר להבין ולתעד את פרטי המשרה. לדוגמה,
Deletes all objects in a bucket.שם הקטגוריה: השם של קטגוריית האחסון שמכילה את האובייקטים שיש לעבד. השלב הזה חיוני כדי לאתר את נתוני הקלט. לדוגמה,
my-bucket. אפשר לציין רק שם קטגוריה אחד לעבודה.בחירת אובייקטים: קריטריוני הבחירה שמגדירים אילו אובייקטים לעבד. אפשר לציין את הקריטריונים באמצעות אחת מהאפשרויות הבאות:
מניפסט: יוצרים מניפסט ומציינים את המיקום שלו כשיוצרים את משימת הפעולות באצווה באחסון. קובץ המניפסט הוא קובץ CSV שמועלה אל Google Cloud, והוא מכיל אובייקט אחד או רשימה של אובייקטים שרוצים לעבד. כל שורה בקובץ המניפסט צריכה לכלול את
bucketוnameשל האובייקט. אפשר גם לציין אתgenerationשל האובייקט. אם לא מציינים אתgeneration, נעשה שימוש בגרסה הנוכחית של האובייקט.הקובץ צריך לכלול שורת כותרת בפורמט הבא:
bucket,name,generationדוגמה למניפסט:
bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3
אפשר גם ליצור קובץ מניפסט באמצעות מערכי נתונים של Storage Insights. פרטים נוספים זמינים במאמר בנושא יצירת קובץ מניפסט באמצעות מערכי נתונים של Storage Insights.
קידומות של אובייקטים: מציינים רשימה של קידומות לסינון אובייקטים בתוך הקטגוריה. רק אובייקטים עם הקידומות האלה יעברו עיבוד. אם השדה ריק, כל האובייקטים בקטגוריה יעברו עיבוד.
סוג העבודה: פעולות אצווה של אחסון תומכות בסוגי העבודות הבאים, ומריצות עבודה אחת לכל פעולת אצווה.
מחיקת אובייקטים: אתם יכולים למחוק אובייקטים בתוך קטגוריה. ההגדרה הזו חשובה מאוד לאופטימיזציה של עלויות, לניהול מחזור החיים של הנתונים ולעמידה בדרישות של מדיניות מחיקת הנתונים.
עדכוני מטא-נתונים: אפשר לשנות את המטא-נתונים הבאים של אובייקטים:
מטא-נתונים בהתאמה אישית: אפשר לעדכן כל זוג של מפתח וערך שהוגדר על ידי המשתמש ומשויך לאובייקט.
מטא-נתונים קבועים: אפשר לעדכן את
Cache-Control,Content-Disposition,Content-Encoding,Content-Language,Content-Type,Custom-Timeו-Retention configuration. כדי לשנות השהיות של אובייקטים, משתמשים בobject holdסוג העבודה.
עדכונים של דגלי object hold: אתם יכולים להפעיל או להשבית דגלי object hold. השהיות של אובייקטים מונעות מחיקה או שינוי של אובייקטים, וזה חיוני לצורכי תאימות ושמירת נתונים.
עדכונים של מפתחות הצפנה של אובייקטים: אתם יכולים לנהל את מפתחות ההצפנה בניהול הלקוח של אובייקט אחד או יותר. זה כולל החלה או שינוי של מפתחות הצפנה באמצעות ה-method rewrite object.
הרצה יבשה (אופציונלי): אפשר ליצור משימת פעולות אצווה של אחסון במצב הרצה יבשה כדי להבין את ההיקף והתוצאה של הפעולה בלי לבצע שינויים באובייקטים. הרצה יבשה מדמה את הפעולה אבל לא מבצעת טרנספורמציות, וכך עוזרת לכם לאמת את הגדרת העבודה לפני שמריצים את העבודה בפועל. תוצאת ההרצה היבשה כוללת את הפרטים הבאים:
מספר האובייקטים שיושפעו.
שגיאות פוטנציאליות שעלולות להתרחש.
אם משתמשים בקידומות של אובייקטים לבחירת אובייקטים, הפלט כולל גם את הגודל הכולל של האובייקטים שיושפעו.
תמחור
כדי להעריך את החיובים על הפעולות בהרצת משימה של פעולות אצווה על אחסון, וכדי לבדוק את החיובים על רשימת האובייקטים בהרצת ניסיון, אפשר לעיין במחירון של Cloud Storage.
הפעלת סימולציה עוזרת לכם לאמת מראש את ההגדרה של משימת פעולות באצווה באחסון, בלי שתחויבו בעלויות של פעולות בפועל, אבל יכול להיות שתחויבו בעלויות של רשימת אובייקטים.
מגבלות
יש מגבלות על פעולות אצווה ב-Storage:
משך החיים המקסימלי של עבודות של פעולות אצווה באחסון הוא 14 ימים. כל משימה פעילה שלא תושלם תוך 14 ימים ממועד היצירה שלה תבוטל באופן אוטומטי.
כשמציינים קידומות לאובייקטים של עבודה, אפשר לכלול עד 1,000 קידומות.
אנחנו לא ממליצים להריץ יותר מ-20 משימות של פעולות באצווה בו-זמנית באותו דלי.
אין תמיכה בפעולות אצווה באחסון בדליים הבאים:
קטגוריות שמופעלת בהן התכונה מגיש הבקשה משלם.
קטגוריות שנמצאות באזור
us-west8.