- გაიგეთ, თუ რა მეტამონაცემებს მართავს Drive (სახელი, თეგები, indexableText და მინიატურები) და რომელი მეტამონაცემები ეკუთვნის სხვა Google Cloud სერვისებს.
- მეტამონაცემების მოსაძიებლად და კორექტირებისთვის გამოიყენეთ Drive API; ფაილების ატვირთვამდე გაასუფთავეთ EXIF და ჩაშენებული მონაცემები.
- დაიცავით ლიმიტები და წესები (მინიატურები, ინდექსირებადი ტექსტი, გაფართოებები) და ლოკალური REST ტესტირებისთვის გაიარეთ ავტორიზაცია gcloud-ის გამოყენებით.
გსურთ თქვენი ფაილების მეტამონაცემების კონტროლი? Google წამყვანი და არ იცით საიდან დაიწყოთ? აქ დეტალურად ავხსნით, როგორ წავშალოთ მეტამონაცემები Google Drive-დან ეფექტურად და უსაფრთხოდ, რათა ეფექტურად და უსაფრთხოდ წავშალოთ ისინი. (ატვირთული ფაილების მეტამონაცემები). ჩვენ ასევე გაცნობებთ, თუ რა შეზღუდვებს აწესებს Google ფაილების სახელებზე, ზომებსა და ნებართვებზე.
ეს სახელმძღვანელო მოგცემთ სრულ და რეალისტურ წარმოდგენას იმის შესახებ, თუ რა შეიძლება (და რა არ შეიძლება) „წაიშალოს“ Google Drive-ში მეტამონაცემებთან დაკავშირებით.
რა შეიძლება შეიცვალოს ან „წაიშალოს“ Drive-ში
Estos შვილი los მეტადატის რომელთა წაშლა შესაძლებელია Google Drive-ზე ატვირთული ფაილებიდან:
სახელი და გაფართოება: API-ის მეშვეობით ფაილის შექმნისას, კარგი იდეაა სახელის ველში გაფართოების მითითება, მაგალითად, „cat.jpg“. Drive-ს შეუძლია გაფართოების დადგენა MIME ტიპიდან, თუ მას არ მიუთითებთ, მაგრამ უმჯობესია თავად განსაზღვროთ იგი. შემდგომ პასუხებში შეიძლება გამოჩნდეს მხოლოდ წასაკითხი fileExtension გაფართოებით, რომელიც შევსებულია name-დან. თუ მომხმარებელი ჩამოტვირთავს ფაილს, Drive კომპილაციას უკეთებს საბოლოო სახელს სათაურიდან (და მისი გაფართოებიდან).
- ინდექსირებადი ტექსტი (contentHints.indexableText): Drive სტანდარტულად ინდექსირებს გავრცელებულ დოკუმენტებსა და ტიპებს (PDF, OCR-თან თავსებადი სურათები და ა.შ.). თუ თქვენი აპლიკაცია ინახავს სხვა ფორმატებს (ნახაზები, ვიდეოები, მალსახმობები), შეგიძლიათ ძიების გასაუმჯობესებლად ინდექსირებადი ტექსტი მოგვაწოდოთ. ეს ტექსტი მუშავდება HTML-ის სახით: თუ გადასცემთ თეგების შემცველ სტრიქონს, ინდექსირდება ტექსტური შინაარსი და არა თეგის ატრიბუტები. contentHints.indexableText-ისთვის არსებობს 128 კბ ზომის ლიმიტი და რეკომენდებულია, რომ განაახლოთ ის ყოველი შენახვისას და შეინარჩუნოთ ის ფაილის შესაბამისობაში.
- მინიატურები (contentHints.thumbnail): Drive მრავალი ტიპის მინიატურებს ქმნის, მაგრამ იმ ფორმატებისთვის, რომლებიც მათ ავტომატურად არ წარმოქმნიან, ფაილის შექმნის ან განახლებისას შეგიძლიათ საკუთარი ატვირთოთ. სურათისთვის URL-safe base64 და შესაბამისი mimeType უნდა დააყენოთ. ძირითადი წესები: მხარდაჭერილი ფორმატებია 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 და ლიმიტები
თუ Google Cloud-თან იმუშავებთ, ბევრს ნახავთ „მეტამონაცემების“ შესახებ სახელმძღვანელოები, რომლებიც სინამდვილეში ეხება Compute Engine-ს ან ღრუბლოვან საცავს და არა Drive-ს. მიუხედავად ამისა, თქვენ უნდა იცოდეთ ეს პუნქტები, რათა კვლევის დროს ისინი არ აგერიოთ.
gcloud CLI-ის ძირითადი კონფიგურაცია
Google Cloud CLI-ის ინსტალაციის შემდეგ, ინიციალიზაცია მოახდინეთ შემდეგით:
gcloud init
მნიშვნელოვანია დარწმუნდეთ, რომ გაქვთ უახლესი ვერსია:
gcloud components update
თუ იყენებთ გარე იდენტიფიკაციის პროვაიდერს, gcloud-თან მუშაობამდე შედით თქვენი ფედერაციული იდენტობით, განსაკუთრებით თუ თქვენი ლოკალური გარემოდან REST ზარების განსახორციელებლად ავტორიზაციას აპირებთ. REST API-ს ნიმუშებს შეუძლიათ გამოიყენონ gcloud-ში კონფიგურირებული ავტორიზაციის მონაცემები.
VM- ები
ნებართვები და როლები (Compute Engine): ვირტუალურ მანქანებზე მორგებული მეტამონაცემების დასამატებლად, განახლებისთვის ან წასაშლელად, საჭიროა შესაბამისი IAM ნებართვები. გავრცელებული მაგალითებია:
- თუ თქვენი ვირტუალური მანქანები იყენებენ სერვისის ანგარიშებს: ნებართვა
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 vs. 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 ორი ველით: URL-ის უსაფრთხო base64 სურათი და სწორი mimeType. თუ Drive-ს შეუძლია ავტომატურად გენერირება გაუკეთოს მინიატურას, ის გამოიყენებს საკუთარს და გამოტოვებს თქვენსას. წინააღმდეგ შემთხვევაში, ის გამოიყენებს თქვენს მიერ მოწოდებულს.
Drive-ში მინიატურების ძირითადი წესები:
- ფორმატები: PNG, GIF ან JPG.
- რეკომენდებული სიგანე: 1600 პიქსელი (მინიმუმ 220 პიქსელი).
- მაქსიმალური ზომა: 2 MB.
- თუ ეს მინიატურა კვლავ აქტუალურია, განაახლეთ თითოეული შენახვისას.
მნიშვნელოვანია ბათილად ცნობა: მინიატურები ბათილდება ფაილის შინაარსის შეცვლისას; მეტამონაცემების ცვლილებები - არა. თუ მხოლოდ თეგებს ან სახელს შეცვლით, ნუ ელით ახალ მინიატურას, თუ ფაილს არ შეცვლით.
ინდექსირებადი ტექსტი
ნუ ეცდებით ძიების „მოტყუებას“ პოპულარული სიტყვებით. აღბეჭდეთ კონცეფციები და ტერმინები, რომლებსაც მომხმარებელი გონივრულად მოძებნიდა ამ ფაილისთვის და შეამოწმეთ 128 კბ-ის ლიმიტი. განაახლეთ ის, როდესაც შინაარსი მნიშვნელოვნად შეიცვლება.
გამოიყენეთ თანმიმდევრული სახელები და გაფართოებებიროდესაც ეს შესაძლებელია, ატვირთვისას სახელში ჩართეთ გაფართოება; თუ ის აკლია, 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-დანროგორც მფლობელს, შეგიძლიათ ფაილი ვებიდან წაშლილში გადაიტანოთ მაუსის მარჯვენა ღილაკით დაწკაპუნებით და „წაშლილში გადატანა“-ს არჩევით. თუ მფლობელი სხვა პირია, ფაილის მხოლოდ „წაშლა“ შეგიძლიათ თქვენი ხედიდან; სხვები მაინც შეძლებენ მის ნახვას.
to ფაილის სამუდამოდ წასაშლელად, თქვენ უნდა გაასუფთაოთ ნაგავი ან გამოიყენოთ მუდმივი წაშლის ვარიანტი, ამ შემთხვევაში, თქვენ ვერ შეძლებთ მის აღდგენას. ეს, თავისთავად, არ „შლის მეტამონაცემებს“ სხვა ფაილებიდან — ის მხოლოდ ამ ერთეულს ეხება.
თქვენ არ შეგიძლიათ წაშალოთ მეტამონაცემები Google Drive-ში იმ ფაილებიდან, რომლებიც არ გეკუთვნით, რადგან მათი კონტროლი ეკუთვნის მათ შემქმნელს ან ორგანიზაციაში უფრო მაღალი ნებართვების მქონე პირს. ასეთ შემთხვევებში, თქვენ უბრალოდ აუქმებთ თქვენს წვდომას ან ხილვადობას.
მეტამონაცემებთან დაკავშირება: ფაილის წაშლა მასთან ერთად წაშლის მის მეტამონაცემებს Drive-ში. თუმცა ეს გავლენას არ ახდენს სხვა ასლებში არსებულ მეტამონაცემებზე ან სისტემაში დარჩენილ სხვა დოკუმენტებში ჩაშენებულ მეტამონაცემებზე.
ზემოაღნიშნულის გათვალისწინებით, ახლა უკვე კარგად შეგიძლიათ განასხვავოთ რა მეტამონაცემები აქვს Drive-ის კონტროლს (სახელი, თეგები, ძიების მინიშნებები და მინიატურები), როგორ მივმართოთ მათ REST-ის მეშვეობით, რა საუკეთესო პრაქტიკა უნდა დავიცვათ ჩაშენებული მონაცემების გასასუფთავებლად ატვირთვამდე და რა შეზღუდვები და ნებართვები მოქმედებს, როდესაც წააწყდებით Google Cloud-ის დოკუმენტაციას, რომელიც „მეტამონაცემებს“ სხვა კონტექსტში განიხილავს.
რედაქტორი სპეციალიზირებულია ტექნოლოგიებისა და ინტერნეტის საკითხებში, ათ წელზე მეტი გამოცდილებით სხვადასხვა ციფრულ მედიაში. ვმუშაობდი რედაქტორად და კონტენტის შემქმნელად ელექტრონული კომერციის, კომუნიკაციის, ონლაინ მარკეტინგისა და სარეკლამო კომპანიებისთვის. მე ასევე ვწერდი ეკონომიკის, ფინანსების და სხვა სექტორების ვებსაიტებზე. ჩემი საქმეც ჩემი გატაცებაა. ახლა, ჩემი სტატიების მეშვეობით Tecnobits, ვცდილობ გამოვიკვლიო ყველა სიახლე და ახალი შესაძლებლობები, რომლებსაც ტექნოლოგიების სამყარო გვთავაზობს ყოველდღიურად ჩვენი ცხოვრების გასაუმჯობესებლად.