- تعرف على البيانات الوصفية التي تديرها Drive (الاسم والعلامات والنص القابل للفهرسة والصور المصغرة) والبيانات الوصفية التي تنتمي إلى خدمات Google Cloud الأخرى.
- استخدم واجهة برمجة تطبيقات Drive للاستعلام عن البيانات الوصفية وتعديلها؛ وتنظيف بيانات EXIF والبيانات المضمنة قبل تحميل الملفات.
- احترم الحدود والقواعد (الصور المصغرة، والنص القابل للفهرسة، والإضافات) وقم بالمصادقة باستخدام gcloud لاختبار REST المحلي.
هل تريد التحكم في البيانات الوصفية لملفاتك في في Google Drive ولا تعرف من أين تبدأ؟ هنا نشرح بالتفصيل كيفية إزالة البيانات الوصفية في Google Drive بشكل فعال وآمن (بيانات تعريف الملفات المُحمّلة). نُطلعك أيضًا على القيود التي تفرضها جوجل على أسماء الملفات وأحجامها وأذوناتها.
سيمنحك هذا الدليل رؤية كاملة وواقعية لما يمكن (وما لا يمكن) "حذفه" عندما يتعلق الأمر بالبيانات الوصفية في Google Drive.
ما الذي يمكن تغييره أو "حذفه" في Drive
وهذه هي البيانات الوصفية التي يمكن إزالتها من الملفات التي تم تحميلها إلى Google Drive:
الاسم والملحق: عند إنشاء ملف عبر واجهة برمجة التطبيقات (API)، يُنصح بتحديد الامتداد في حقل الاسم، على سبيل المثال "cat.jpg". يمكن لـ Drive استنتاج الامتداد من نوع MIME إذا لم تُحدده، ولكن يُفضل تعريفه بنفسك. في الاستجابات اللاحقة، قد يظهر امتداد ملف للقراءة فقط مع الامتداد المُدخل من الاسم. إذا نزّل مستخدم الملف، يُجمّع Drive الاسم النهائي من العنوان (وامتداده).
- نص قابل للفهرسة (contentHints.indexableText): يُفهرس Drive المستندات والأنواع الشائعة (ملفات PDF، والصور المُفعّلة بتقنية التعرف الضوئي على الحروف، إلخ) افتراضيًا. إذا كان تطبيقك يحفظ تنسيقات أخرى (رسومات، مقاطع فيديو، اختصارات)، يمكنك توفير نص قابل للفهرسة لتحسين البحث. يُعالَج هذا النص بتنسيق HTML: إذا مررتَ سلسلة نصية تحتوي على وسوم، فسيتم فهرسة المحتوى النصي، وليس سمات الوسوم. يوجد حد أقصى لحجم ملف contentHints.indexableText وهو 128 كيلوبايت، ويُوصى بتحديثه عند كل حفظ والحفاظ على صلته بالملف.
- الصور المصغرة (contentHints.thumbnail): يُنشئ Drive صورًا مصغرة لأنواع عديدة، ولكن بالنسبة للتنسيقات التي لا تُنشئها تلقائيًا، يمكنك تحميل صورك المصغرة عند إنشاء الملف أو تحديثه. يجب ضبط الصورة على base64 آمن لعنوان URL ونوع MIME المُطابق. القواعد الأساسية: التنسيقات المدعومة هي PNG وGIF وJPG؛ العرض المُوصى به هو 1600 بكسل (الحد الأدنى 220 بكسل)، والحد الأقصى للحجم هو 2 ميجابايت. تُلغى الصور المصغرة عند تغيير محتوى الملف؛ ولا تُلغى تغييرات البيانات الوصفية.
- الوصول إلى الصور المصغرة: يُرجع حقل ThumbnailLink رابطًا مختصرًا، لا يمكن الوصول إليه إلا إذا كان التطبيق مُصرّحًا بقراءة الملف (إذا لم يكن عامًا، فستحتاج إلى طلبه باستخدام بيانات الاعتماد). يمكنك الاستعلام عنه لملف مُحدد أو لقائمة مُرشّحة حسب النوع.
- العلامات: يتيح لك Drive ربط التصنيفات بالملفات. للعثور عليها، يمكنك استخدام files.listLabels، ولتعديلها، يجب عليك الرجوع إلى معرف التصنيف ومعرف الملف المقابلين. هذه الآلية مفيدة لتصنيف التصنيفات غير المرغوب فيها، وإذا لزم الأمر، "تنظيفها" دون المساس بالمحتوى.
حذف البيانات الوصفية في Google Drive: البيانات الوصفية "المخفية" من الملف نفسه
لا يوجد زر سحري لإزالة البيانات الوصفية في جوجل درايف (مثل بيانات EXIF في الصور أو البيانات المضمنة في ملفات PDF). يدير درايف بياناته الوصفية الخاصة، ولكن البيانات الوصفية داخل الملف تعتمد على الأداة التي أنشأتها.
الممارسة الموصى بها هي قم بتنظيف الملف قبل تحميله إلى Drive، استخدام أدوات النظام أو التطبيقات المتخصصة لإزالة بيانات EXIF من الصور أو خصائص المستندات. بهذه الطريقة، يصل المحتوى الذي تحفظه في Drive "مُنظّفًا".
إذا كان لديك بالفعل ملفات تم تحميلها مع بيانات وصفية مضمنة، فبدلاً من إزالة البيانات الوصفية في Google Drive، يكون الأمر أكثر ملاءمة تنزيل وتنظيف وإعادة تحميل، استبدال الأصل إن أمكن. في ملفات PDF أو الصور، يُعد هذا أمرًا شائعًا عند الرغبة في حماية حقوق التأليف أو الموقع أو سجل التحرير.
بالنسبة للجزء المحدد من Drive، التركيز على ضبط الاسم والعلامات وتلميحات المحتوى (indexableText/thumbnail)، التي تقع تحت سيطرتك. إذا قمتَ أيضًا بإدارة أذونات الوصول، فإنك تُقلل أيضًا من عرض البيانات الوصفية المرئية (على سبيل المثال، روابط الصور المصغرة المتاحة لمن يملكون حقوق القراءة).
لا olvides كيو لا يؤدي تغيير بيانات تعريف محرك الأقراص فقط إلى إزالة خصائص EXIF أو الخصائص الداخلية. لذلك، ينبغي أن تجمع استراتيجيتك بين التنظيف المسبق للملف وإدارة البيانات الوصفية الدقيقة التي يسمح لك Drive بلمسها.
البيانات الوصفية الشائعة الخلط في Google Cloud: الأجهزة الافتراضية، وgcloud، والحدود
إذا كنت تعمل مع Google Cloud، فسترى العديد من أدلة حول "البيانات الوصفية" التي تشير فعليًا إلى Compute Engine أو Cloud Storage، وليس Drive. ومع ذلك، عليك أن تعرف هذه النقاط حتى لا تختلط عليك الأمور أثناء البحث.
تكوين gcloud CLI الأساسي
بعد تثبيت Google Cloud CLI، قم بالتهيئة باستخدام:
gcloud init
من المهم التأكد من أن لديك الإصدار الأحدث مع:
gcloud components update
إذا كنت تستخدم موفر هوية خارجيًا، قم بتسجيل الدخول باستخدام هويتك الفيدرالية قبل العمل مع gcloud، خاصةً إذا كنت ستُصادق على إجراء مكالمات REST من بيئتك المحلية. يمكن لعينات واجهة برمجة تطبيقات REST استخدام بيانات الاعتماد التي قمت بتكوينها في gcloud.
نظام رصد السفن
الأذونات والأدوار (محرك الحوسبة): لإضافة أو تحديث أو حذف بيانات تعريفية مخصصة على الأجهزة الافتراضية، تحتاج إلى أذونات IAM مناسبة. من الأمثلة الشائعة:
- إذا كانت أجهزة VM الخاصة بك تستخدم حسابات الخدمة: تصريح
iam.serviceAccounts.actAsفي حساب الخدمة أو المشروع. - بيانات المشروع الوصفية:
compute.projects.getycompute.projects.setCommonInstanceMetadata. - البيانات الوصفية للمنطقة:
compute.instanceSettings.getycompute.instanceSettings.updateللمنطقة ذات الصلة. - بيانات التعريف الخاصة بالمثيل:
compute.instances.getycompute.instances.setMetadata.
القيود
هذه هي القيود الرئيسية التي واجهناها عند محاولة إزالة البيانات الوصفية في Google Drive:
- حدود الحجم (محرك الحوسبة): الحد الأقصى لإجمالي إدخالات البيانات الوصفية هو 512 كيلوبايت. كل مفتاح محدود بـ 128 بايت، وكل قيمة محدودة بـ 256 كيلوبايت. على سبيل المثال، إذا استخدمت مفتاح ssh-keys وتجاوزت حد الـ 256 كيلوبايت، فلن تتمكن من إضافة المزيد من المفاتيح حتى تُنهي عملية التنظيف.
- الأحرف الكبيرة و الأحرف الصغيرة: المفاتيح حساسة لحالة الأحرف، والقيم حساسة أيضًا، باستثناء القيم المنطقية. في النطاقات، لا يُمكن إنشاء مفتاحين يختلفان فقط في حالة الأحرف (zonal-metadata-key وZONAL-METADATA-KEY).
- البيانات الوصفية للمنطقة: يتم تعيينها أو إزالتها باستخدام gcloud أو REST. لا يُمكن تحديد قيم نطاقية لمفاتيح SSH (ssh-keys). في المجلد المنطقي project/، إذا وُجدت قيم على مستوى المشروع وقيم نطاقية لنفس المفتاح، فإن قيمة النطاق لها الأولوية في نطاقها.
- القيم المنطقية المدعومة: بالإضافة إلى TRUE/FALSE، يمكنك استخدام Y/Yes/1 وN/No/0 (غير حساس لحالة الأحرف).
- نطاقات التكوين (محرك الحوسبة):
- المشروع: البيانات الوصفية المشتركة بين جميع الأجهزة الافتراضية في المشروع.
- المنطقة: الإدخالات التي تؤثر على جميع الأجهزة الافتراضية في منطقة معينة ويمكنها تجاوز قيمة المشروع.
- مثال: البيانات الوصفية لجهاز افتراضي محدد (يتم إنشاؤه أو موجود بالفعل).

الصور المصغرة والفهرسة واسترجاع البيانات الوصفية في Drive (REST وأفضل الممارسات)
لنلقِ نظرة الآن على دور الصور المصغرة عند إزالة البيانات الوصفية في جوجل درايف، وأفضل طريقة لاستعادتها:
- المصادقة على REST المحلي: إذا كنت تختبر أمثلة REST من جهازك، فاستخدم بيانات الاعتماد المُهيأة باستخدام gcloud. بهذه الطريقة، ستلتزم مكالمات واجهة برمجة تطبيقات Drive بالهوية والأذونات التي حددتها مسبقًا.
- تحميل الصورة المصغرة المخصصة: عيّن ملف contentHints.thumbnail بحقلين: صورة base64 آمنة لعناوين URL، ونوع MIME الصحيح. إذا كان بإمكان Drive إنشاء صورة مصغرة تلقائيًا، فسيستخدم صورته المصغرة ويتخطى صورتك. وإلا، فسيستخدم الصورة المصغرة التي تُقدّمها.
القواعد الأساسية للصور المصغرة في Drive:
- الصيغ: PNG، GIF أو JPG.
- العرض الموصى به: 1600 بكسل (الحد الأدنى 220 بكسل).
- الحد الأقصى للحجم: 2 ميجا بايت.
- قم بتحديث الصورة المصغرة مع كل حفظ إذا كانت لا تزال ذات صلة.
هام حول إبطال: تُلغى الصور المصغرة عند تغيير محتويات الملف، بينما لا تُلغى تغييرات البيانات الوصفية. إذا غيّرت العلامات أو الاسم فقط، فلا تتوقع ظهور صورة مصغرة جديدة إلا بعد تعديل الملف.
نص قابل للفهرسة
لا تحاول "خداع" البحث بكلمات رنانة. اجمع المفاهيم والمصطلحات التي قد يبحث عنها المستخدم في هذا الملف، تحقق من الحد الأقصى 128 كيلوبايت. قم بتحديثه عندما يتغير المحتوى بشكل كبير.
تطبيق الأسماء والامتدادات المتسقةكلما أمكن، أدرج الامتداد في الاسم عند التحميل؛ إذا كان مفقودًا، فسيحاول Drive استنتاجه باستخدام MIME. يساعد توضيح الأسماء على تجنب الغموض وتسهيل البحث عن الامتدادات.
العلامات في Drive
لتعديل التسميات، دوّن المعرفات اللازمة. ستحتاج إلى معرف التسمية ومعرف الملف. يمكنك أولًا إدراجهما باستخدام 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، أحاول استكشاف كل الأخبار والفرص الجديدة التي يقدمها لنا عالم التكنولوجيا كل يوم لتحسين حياتنا.