- להבין אילו מטא-נתונים Drive מנהל (שם, תגיות, טקסט הניתן לאינדקס ותמונות ממוזערות) ואילו מטא-נתונים שייכים לשירותי Google Cloud אחרים.
- השתמש ב-Drive API כדי לבצע שאילתות ולתקן מטא-נתונים; נקה EXIF ונתונים מוטמעים לפני העלאת קבצים.
- יש לכבד מגבלות וכללים (תמונות ממוזערות, טקסט הניתן לאינדקס, הרחבות) ולבצע אימות עם gcloud לצורך בדיקות REST מקומיות.
האם ברצונך לשלוט במטא-דאטה של הקבצים שלך ב- כונן Google ולא יודעים מאיפה להתחיל? כאן נסביר, בפירוט, כיצד להסיר מטא-נתונים ב-Google Drive בצורה יעילה ובטוחה (המטא-דאטה של קבצים שהועלו). אנו גם מסבירים לכם אילו מגבלות גוגל מטילה על שמות קבצים, גדלים והרשאות.
מדריך זה יעניק לכם הבנה מלאה וריאליסטית של מה ניתן (ומה לא ניתן) "למחוק" בכל הנוגע למטא-דאטה ב-Google Drive.
מה ניתן לשנות או "למחוק" ב-Drive
אלו הם מטה שניתן להסיר מקבצים שהועלו ל-Google Drive:
שם וסיומת: בעת יצירת קובץ דרך ה-API, מומלץ לציין את הסיומת בשדה השם, לדוגמה, "cat.jpg". Drive יכול להסיק את הסיומת מסוג ה-MIME אם לא תציינו אותה, אך עדיף להגדיר אותה בעצמכם. בתגובות עוקבות, fileExtension לקריאה בלבד עשוי להופיע עם הסיומת מאוכלסת בשדה השם. אם משתמש מוריד את הקובץ, Drive יקמפל את השם הסופי מהכותרת (ומהסיומת שלו).
- טקסט הניתן לאינדקס (contentHints.indexableText): כברירת מחדל, Drive יוצר אינדקס של מסמכים וסוגים נפוצים (קובצי PDF, תמונות התומכות ב-OCR וכו'). אם האפליקציה שלך שומרת פורמטים אחרים (שרטוטים, סרטונים, קיצורי דרך), תוכל לספק טקסט הניתן לאינדקס כדי לשפר את החיפוש. טקסט זה מעובד כ-HTML: אם תעביר מחרוזת המכילה תגיות, התוכן הטקסטואלי יתאנדקס, ולא מאפייני התג. יש מגבלת גודל של 128KB עבור contentHints.indexableText, ומומלץ לעדכן אותה בכל שמירה ולשמור על רלוונטיותה לקובץ.
- תמונות ממוזערות (contentHints.thumbnail): Drive יוצר תמונות ממוזערות עבור סוגים רבים, אך עבור פורמטים שאינם יוצרים אותן באופן אוטומטי, ניתן להעלות תמונות ממוזערות משלך בעת יצירה או עדכון הקובץ. עליך להגדיר את התמונה ל-URL-safe base64 ואת סוג ה-mime המתאים. כללים עיקריים: הפורמטים הנתמכים הם PNG, GIF או JPG; הרוחב המומלץ הוא 1600 פיקסלים (מינימום 220 פיקסלים), והגודל המרבי הוא 2 מגה-בייט. תמונות ממוזערות מבוטלות כאשר תוכן הקובץ משתנה; שינויים במטא-דאטה לא.
- גישה לתמונות ממוזערות: השדה ThumbnailLink מחזיר כתובת URL קצרה, הנגישה רק אם לאפליקציה יש הרשאה לקרוא את הקובץ (אם הוא אינו ציבורי, תצטרכו לבקש אותו באמצעות אישורים). ניתן לבצע שאילתה עבור קובץ ספציפי או עבור רשימה מסוננת לפי סוג.
- תוויות: Drive מאפשר לך לשייך תוויות לקבצים. כדי לאתר אותן, תוכל להשתמש ב-files.listLabels, וכדי לשנות אותן, עליך להפנות ל-labelId ול-fileId המתאימים. מנגנון זה שימושי לסיווג, ובמידת הצורך, "ניקוי" סיווגים לא רצויים מבלי לגעת בתוכן.
מחיקת מטא-נתונים ב-Google Drive: מטא-נתונים "מוסתרים" מהקובץ עצמו
אין כפתור קסם להסרת מטא-דאטה ב-Google Drive (כגון EXIF בתמונות או נתונים מוטמעים בקבצי PDF). Drive מנהל את המטא-דאטה שלו בעצמו, אך המטא-דאטה בתוך הקובץ תלוי בכלי שיצר אותו.
הנוהג המומלץ הוא נקו את הקובץ לפני העלאתו ל-Drive, שימוש בכלי מערכת או אפליקציות ייעודיות שמסירות נתוני EXIF מתמונות או ממאפייני מסמך. בדרך זו, התוכן שאתה שומר ב-Drive מגיע "מחוטא".
אם כבר העליתם קבצים עם מטא-נתונים מוטמעים, במקום להסיר מטא-נתונים ב-Google Drive, זה יותר נוח להוריד, לנקות ולהעלות מחדש, החלפת המקור במידת הצורך. עם קבצי PDF או תמונות, זה נפוץ כאשר ברצונך להגן על בעלות על יוצר, מיקום או היסטוריית עריכה.
עבור החלק הספציפי של Drive, התמקדות בהתאמת שם, תוויות ותוכן. רמזים (טקסט/תמונה ממוזערת הניתנים לאינדקס), שנמצאים תחת שליטתך. אם אתה מנהל גם הרשאות גישה, אתה גם מצמצם את החשיפה של מטא-דאטה גלוי (לדוגמה, קישורים ממוזערים הנגישים לבעלי הרשאות קריאה).
אל תשכח את זה שינוי מטא-דאטה של Drive בלבד אינו מסיר מאפייני EXIF או מאפיינים פנימיים. לכן, האסטרטגיה שלך צריכה לשלב ניקוי מקדים של הקובץ עם ניהול מטא-נתונים מדויק ש-Drive מאפשר לך לגעת בו.
מטא-דאטה נפוצים ב-Google Cloud: מכונות וירטואליות, gcloud ומגבלות
אם תעבדו עם גוגל קלאוד, תראו הרבה מדריכים בנוגע ל"מטא-נתונים" שמתייחסים למעשה ל-Compute Engine או ל-Cloud Storage, ולא ל-Drive. למרות זאת, תרצו לדעת את הנקודות הללו כדי שלא תבלבלו ביניהן כשאתם מבצעים מחקר.
תצורת ממשק שורת פקודה בסיסית של gcloud
לאחר התקנת ממשק שורת פקודה (CLI) של גוגל קלאוד, יש לאתחל באמצעות:
gcloud init
חשוב לוודא שיש לך את הגרסה העדכנית ביותר עם:
gcloud components update
אם אתם משתמשים בספק זהויות חיצוני, היכנס עם הזהות המאוחדת שלך לפני שתעבוד עם gcloud, במיוחד אם אתם מתכוונים לבצע אימות כדי לבצע קריאות REST מהסביבה המקומית שלכם. דוגמאות של REST API יכולות להשתמש באישורים שהגדרתם ב-gcloud.
VMs
הרשאות ותפקידים (מנוע מחשוב): כדי להוסיף, לעדכן או למחוק מטא-נתונים מותאמים אישית במכונות וירטואליות, עליך להרשאות IAM מתאימות. דוגמאות נפוצות כוללות:
- אם המכונות הווירטואליות שלך משתמשות בחשבונות שירות: רשות
iam.serviceAccounts.actAsבחשבון השירות או הפרויקט. - מטא-דאטה של הפרויקט:
compute.projects.getycompute.projects.setCommonInstanceMetadata. - מטא-דאטה אזורי:
compute.instanceSettings.getycompute.instanceSettings.updateעבור האזור הרלוונטי. - מטא-נתונים של מופע:
compute.instances.getycompute.instances.setMetadata.
מגבלות
אלו הן המגבלות העיקריות שנתקלנו בהן בעת ניסיון להסיר מטא-נתונים ב-Google Drive:
- מגבלות גודל (מנוע מחשוב): סך כל ערכי המטא-דאטה מוגבל ל-512 KB. כל מפתח מוגבל ל-128 בתים, וכל ערך מוגבל ל-256 KB. אם, לדוגמה, תשתמשו במפתח ssh-keys ותחרגו ממגבלת 256 KB, לא תוכלו להוסיף מפתחות נוספים עד שתנקו.
- אותיות גדולות ואותיות קטנות: מפתחות תלויי רישיות; גם ערכים תלויי רישיות, למעט בוליאנים. ב-zonal, לא ניתן ליצור שני מפתחות הנבדלים רק באותיות גדולות (zonal-metadata-key לעומת ZONAL-METADATA-KEY).
- מטא-דאטה אזורי: מוגדרים או מוסרים באמצעות gcloud או REST. לא ניתן להגדיר ערכים אזוריים עבור מפתחות SSH (ssh-keys). בתיקייה הלוגית project/, אם ישנם ערכים ברמת הפרויקט וערכים אזוריים עבור אותו מפתח, הערך האזורי מקבל עדיפות באזור שלו.
- ערכים בוליאניים נתמכים: בנוסף ל-TRUE/FALSE, ניתן להשתמש ב-Y/Yes/1 וב-N/No/0 (לא תלוי רישיות).
- טווחי תצורה (מנוע מחשוב):
- פּרוֹיֶקט: מטא-נתונים משותפים לכל המכונות הווירטואליות בפרויקט.
- אזורי: ערכים שמשפיעים על כל המכונות הווירטואליות באזור מסוים ויכולים לעקוף את ערך הפרויקט.
- דוּגמָה: מטא-נתונים עבור מכונה וירטואלית ספציפית (שנוצרת או שכבר קיימת).

תמונות ממוזערות, אינדוקס ואחזור מטא-נתונים ב-Drive (REST ושיטות עבודה מומלצות)
בואו נבחן כעת את תפקידן של תמונות ממוזערות בעת הסרת מטא-נתונים ב-Google Drive. וגם את הדרך הטובה ביותר לשחזר אותן:
- אימות עבור REST מקומי: אם אתם בודקים דוגמאות REST מהמחשב שלכם, השתמשו בפרטי הגישה שתצורתם נקבעה עם gcloud. בדרך זו, קריאות ה-Drive API שלכם יכבדו את הזהות וההרשאות שכבר הגדרתם.
- העלאת תמונות ממוזערות מותאמות אישית: הגדר את contentHints.thumbnail עם שני שדות: תמונת base64 בטוחה URL וסוג mime הנכון. אם Drive יכול ליצור תמונה ממוזערת באופן אוטומטי, הוא ישתמש בתמונה ממוזערת משלו וידלוג על שלך. אחרת, הוא ישתמש בתמונה שאתה מספק.
כללים מרכזיים לתמונות ממוזערות ב-Drive:
- פורמטים: PNG, GIF או JPG.
- רוחב מומלץ: 1600 פיקסלים (מינימום 220 פיקסלים).
- גודל מקסימלי: 2 מגה-בייט.
- עדכן את התמונה הממוזערת עם כל שמירה אם היא עדיין רלוונטית.
חשוב לגבי ביטול: תמונות ממוזערות מבוטלות כאשר תוכן הקובץ משתנה; שינויים במטא-דאטה לא. אם תשנו רק תגיות או את השם, אל תצפו לתמונה ממוזערת חדשה אלא אם כן תשנו את הקובץ.
טקסט הניתן לאינדקס
אל תנסו "להטעות" את החיפוש בעזרת מילות מפתח. לכודו מושגים ומונחים שמשתמש היה מחפש באופן סביר עבור קובץ זה, ו בדוק את מגבלת ה-128KB. עדכן אותו בכל פעם שהתוכן משתנה באופן מהותי.
החל שמות ותוספות עקבייםבמידת האפשר, יש לכלול את הסיומת בשם בעת ההעלאה; אם היא חסרה, Drive ינסה להסיק אותה באמצעות MIME. שמירה על שמות ברורים תמנע אי-בהירויות ותאפשר חיפושים קלים יותר אחר סיומות.
תגיות ב-Drive
כדי לשנות תוויות, שימו לב למזהים הדרושים. תזדקקו ל-labelId של התווית ול-fileId של הקובץ. תחילה תוכלו לרשום אותם באמצעות files.listLabels ולאחר מכן להחיל את השינויים המתאימים על קובץ היעד.
// Al modificar etiquetas de un archivo en Drive:
// - labelId: identificador de la etiqueta a cambiar
// - fileId: identificador del archivo al que aplicas la etiqueta
// Usa files.listLabels para localizarlas antes de actualizar.
תזכרי את זה, למרות ש-Drive הוא המוקד, פיתוחים רבים משלבים את Drive עם אחסון בענן או שירותים אחרים, לפיכך תראו דוגמאות של אחסון לבדיקת תכונות אובייקט.
// Ejemplo en Go para obtener atributos de un objeto en Cloud Storage (no Drive)
// e imprimir metadatos como ContentType, CacheControl, MD5, etc.
// Útil si tu flujo sube primero a Storage y luego a Drive.
import (
"context"
"fmt"
"io"
"time"
"cloud.google.com/go/storage"
)
func getMetadata(w io.Writer, bucket, object string) (*storage.ObjectAttrs, error) {
ctx := context.Background()
client, err := storage.NewClient(ctx)
if err != nil { return nil, fmt.Errorf("storage.NewClient: %w", err) }
defer client.Close()
ctx, cancel := context.WithTimeout(ctx, 10*time.Second)
defer cancel()
o := client.Bucket(bucket).Object(object)
attrs, err := o.Attrs(ctx)
if err != nil { return nil, fmt.Errorf("Object(%q).Attrs: %w", object, err) }
fmt.Fprintf(w, "Bucket: %v\n", attrs.Bucket)
fmt.Fprintf(w, "CacheControl: %v\n", attrs.CacheControl)
fmt.Fprintf(w, "ContentDisposition: %v\n", attrs.ContentDisposition)
fmt.Fprintf(w, "ContentEncoding: %v\n", attrs.ContentEncoding)
fmt.Fprintf(w, "ContentLanguage: %v\n", attrs.ContentLanguage)
fmt.Fprintf(w, "ContentType: %v\n", attrs.ContentType)
fmt.Fprintf(w, "Crc32c: %v\n", attrs.CRC32C)
fmt.Fprintf(w, "Generation: %v\n", attrs.Generation)
fmt.Fprintf(w, "KmsKeyName: %v\n", attrs.KMSKeyName)
fmt.Fprintf(w, "Md5Hash: %v\n", attrs.MD5)
fmt.Fprintf(w, "MediaLink: %v\n", attrs.MediaLink)
fmt.Fprintf(w, "Metageneration: %v\n", attrs.Metageneration)
fmt.Fprintf(w, "Name: %v\n", attrs.Name)
fmt.Fprintf(w, "Size: %v\n", attrs.Size)
fmt.Fprintf(w, "StorageClass: %v\n", attrs.StorageClass)
fmt.Fprintf(w, "TimeCreated: %v\n", attrs.Created)
fmt.Fprintf(w, "Updated: %v\n", attrs.Updated)
fmt.Fprintf(w, "Event-based hold enabled? %t\n", attrs.EventBasedHold)
fmt.Fprintf(w, "Temporary hold enabled? %t\n", attrs.TemporaryHold)
fmt.Fprintf(w, "Retention expiration time %v\n", attrs.RetentionExpirationTime)
fmt.Fprintf(w, "Custom time %v\n", attrs.CustomTime)
fmt.Fprintf(w, "Retention: %+v\n", attrs.Retention)
fmt.Fprintf(w, "\n\nMetadata\n")
for key, value := range attrs.Metadata {
fmt.Fprintf(w, "\t%v = %v\n", key, value)
}
return attrs, nil
}
מחיקת קבצים לעומת מחיקת מטא-דאטה ב-Google Drive
אם מה שאתה רוצה זה מחיקת קובץ מ-Driveכבעלים, באפשרותך להעביר אותו לאשפה מהאינטרנט על ידי לחיצה ימנית ובחירה באפשרות "העבר לאשפה". אם הבעלים הוא מישהו אחר, תוכל רק "להסיר" את הקובץ מהתצוגה שלך; אחרים עדיין יוכלו לראות אותו.
כדי כדי למחוק קובץ לצמיתות, עליך לרוקן את האשפה או להשתמש באפשרות המחיקה הקבועה, במקרה זה, לא תוכלו לשחזר אותו. פעולה זו, כשלעצמה, אינה "מסירה מטא-נתונים" מקבצים אחרים - היא חלה רק על פריט זה.
לא ניתן למחוק מטא-דאטה ב-Google Drive מקבצים שאינם בבעלותך, מכיוון שהשליטה בהם שייכת לאדם שיצר אותם או למישהו בעל הרשאות גבוהות יותר בתוך הארגון. במקרים אלה, פשוט מסירים את הגישה או הנראות שלכם.
קישור זה למטא-דאטה: מחיקת קובץ מוחקת את המטא-דאטה שלו ב-Drive יחד איתו, אך זה לא משפיע על מטא-דאטה בעותקים אחרים או על מטא-דאטה מוטמע במסמכים אחרים שנותרו במערכת.
עם כל האמור לעיל, כעת ניתן להבדיל היטב אילו מטא-דאטה שולט ב-Drive (שם, תגיות, רמזים לחיפוש ותמונות ממוזערות), כיצד לבצע שאילתות עליהם דרך REST, מהן שיטות העבודה המומלצות לניקוי נתונים מוטמעים לפני העלאה, ואילו מגבלות והרשאות נכנסות לתמונה כשנתקלים בתיעוד של Google Cloud שמדבר על "מטא-נתונים" בהקשרים אחרים.
עורך מתמחה בנושאי טכנולוגיה ואינטרנט עם יותר מעשר שנות ניסיון במדיה דיגיטלית שונים. עבדתי כעורכת ויוצרת תוכן בחברות מסחר אלקטרוני, תקשורת, שיווק מקוון ופרסום. כתבתי גם באתרי כלכלה, פיננסים ומגזרים אחרים. העבודה שלי היא גם התשוקה שלי. עכשיו, דרך המאמרים שלי ב Tecnobits, אני מנסה לחקור את כל החדשות וההזדמנויות החדשות שעולם הטכנולוגיה מציע לנו מדי יום כדי לשפר את חיינו.