- Qonda ukuba yintoni i-metadata Drive elawulayo (igama, iithegi, i-IndexableText, kunye ne-thumbnails) kwaye yeyiphi imetadata eyezinye iinkonzo zeLifu likaGoogle.
- Sebenzisa iDrive API ukubuza kunye nokulungelelanisa imetadata; coca i-EXIF kunye nedatha edibeneyo ngaphambi kokulayisha iifayile.
- Hlonipha imida kunye nemithetho (i-thumbnails, isicatshulwa esinesalathisi, izandiso) kwaye uqinisekise nge-gcloud yovavanyo lwe-REST lwasekuhlaleni.
Ngaba uyafuna ukulawula imetadata yeefayile zakho kwi Google Drive kwaye andazi ukuba mandiqale ngaphi? Apha sichaza, ngokweenkcukacha, Uyisusa njani imetadata kwiGoogle Drive ngokufanelekileyo nangokukhuselekileyo (imetadata yeefayile ezilayishiweyo). Sikwakuxelela ukuba yeyiphi imida ebekwe nguGoogle kumagama eefayile, ubungakanani kunye neemvume.
Esi sikhokelo siya kukunika ukuqonda okupheleleyo kunye nokwenyani malunga nokuba yintoni (kwaye ayikwazi) "ukususwa" xa kuziwa kwimethadatha kwiGoogle Drive.
Yintoni enokutshintshwa okanye "icinywe" kwi-Drive
Le yile imethadatha enokususwa kwiifayile ezifakwe kuGoogle Drive:
Igama kunye nolwandiso: Xa udala ifayile nge-API, yinto efanelekileyo ukucacisa ukwandiswa kwintsimi yegama, umzekelo, "cat.jpg." I-Drive inokuthi infer ulwandiso ukusuka kudidi lwe-MIME ukuba awuyikhankanyi, kodwa kungcono ukuyichaza ngokwakho. Kwiimpendulo ezilandelayo, ifayile efundwayo kuphela Isolulo sinokuvela kunye nolwandiso oluphuma kwigama. Ukuba umsebenzisi ukhuphela ifayile, iDrive iqokelela igama lokugqibela ukusuka kwisihloko (kunye nolwandiso lwayo).
- Isicatshulwa esinesalathisi (contentHints.indexableText): Qhuba izalathisi amaxwebhu aqhelekileyo kunye neentlobo (iiPDF, i-OCR-enabled images, njl.) ngokungagqibekanga. Ukuba i-app yakho igcina ezinye iifomati (imizobo, iividiyo, iindlela ezimfutshane), unokubonelela ngokubhaliweyo okunophawu lokuphucula uphendlo. Lo mbhalo uqwalaselwe njenge HTML: ukuba ugqithisa umtya oqulathe iithegi, umxholo wokubhaliweyo unesalathisi, hayi iimpawu zethegi. Kukho umda wesayizi we-128KB we-contentHints.indexableText, kwaye kuyacetyiswa ukuba uyihlaziye kugcino ngalunye kwaye uyigcine ihambelana nefayile.
- IiThumbnail (contentHints.thumbnail): IDrayivu ivelisa i-thumbnails kwiindidi ezininzi, kodwa kwiifomathi ezingazenzi ngokuzenzekelayo, ungalayisha eyakho xa usenza okanye uhlaziya ifayile. Kufuneka usete umfanekiso kwi-URL-safe base64 kunye ne-mimeType ehambelanayo. Imigaqo ephambili: Iifomati ezixhaswayo yiPNG, GIF, okanye iJPG; ububanzi obucetyiswayo yi-1600px (ubuncinci be-220px), kwaye ubukhulu besayizi yi-2MB. I-Thumbnails ayisebenzi xa umxholo wefayile utshintsha; utshintsho lwemetadata alwenzi.
- Ukufikelela kwi-thumbnails: I-ThumbnailLink field ibuyisela i-URL emfutshane, ifikeleleke kuphela ukuba usetyenziso lunemvume yokufunda ifayile (ukuba ayikho esidlangalaleni, kuya kufuneka uyicele ngeengqinisekiso). Ungayibuza ngefayile ethile okanye uluhlu oluhluzwe ngokohlobo.
- Iileyibhile: IDrayivu ikuvumela ukuba udibanise iilebhile kunye neefayile. Ukuzifumana, ungasebenzisa iifayile.listLabels, kwaye ukuziguqula, kufuneka ubhekisele kwi-labelId ehambelanayo nefayileId. Lo matshini uluncedo ekwahluleleni kwaye, ukuba kuyimfuneko, "ukucoca" ukuhlelwa okungafunekiyo ngaphandle kokuchukumisa umxholo.
Cima imethadatha kwiGoogle Drive: "efihliweyo" imethadatha kwifayile ngokwayo
Akukho qhosha lomlingo lokususa imethadatha kwi-Google Drive (efana ne-EXIF kwiifoto okanye idatha efakwe kwiiPDF). I-Drive ilawula i-metadata yayo, kodwa imetadata ngaphakathi kwefayile ixhomekeke kwisixhobo esiyenzileyo.
Inkqubo ecetyiswayo yile coca ifayile ngaphambi kokuyilayisha kwi-Drive, Ukusebenzisa izixhobo zenkqubo okanye usetyenziso olukhethekileyo olususa idatha ye-EXIF kwimifanekiso okanye kwiipropathi zamaxwebhu. Ngale ndlela, umxholo owugcinayo kwi-Drive ufika "ucocekile."
Ukuba sele uneefayile ezilayishwe ngemetadata exhonyiweyo, endaweni yokususa imethadatha kwiGoogle Drive, ilunge ngakumbi. Khuphela, coca kwaye uphinde ulayishe, endaweni yoqobo xa kufanelekile. NgeePDF okanye imifanekiso, oku kuqhelekile xa ufuna ukukhusela ubuqambi, indawo, okanye imbali yokuhlela.
Kwinxalenye ethile yeDrive, ingqwalasela ekulungiseni igama, iilebhile kunye neziqulathoAmacebiso (indexableText/thumbnail), eziphantsi kolawulo lwakho. Ukuba ukwalawula iimvume zofikelelo, ukwanciphisa ukuvezwa kwemetadata ebonakalayo (umzekelo, amakhonkco e-thumbnail afikeleleka kwabo banamalungelo okufunda).
Ungakulibali oko Ukutshintsha kuphela imetadata yeDrayivu ayisusi i-EXIF okanye iipropathi zangaphakathi. Ke ngoko, isicwangciso sakho kufuneka sidibanise ukucocwa kwangaphambili kwefayile kunye nolawulo lwemetadata ecoliweyo ekuvumela ukuba uchukumise iDrive.
Imetadata eqhele ukubhidaniswa kwiLifu likaGoogle: VMs, gcloud, kunye nemida
Ukuba usebenza ngeLifu likaGoogle, uya kubona ezininzi izikhokelo malunga ne "metadata" ebhekisa kwi-Compute Engine okanye kwi-Cloud Storage, hayi iDrive. Nangona kunjalo, uya kufuna ukwazi la manqaku ukuze ungawadibanisi xa uphanda.
Uqwalaselo olusisiseko lwe-gcloud CLI
Emva kokufaka i-Google Cloud CLI, qalisa nge:
gcloud init
Kubalulekile ukuqiniseka ukuba unenguqulelo yamva nje ene:
gcloud components update
Ukuba usebenzisa umboneleli wesazisi wangaphandle, Sayina ngesazisi sakho esidityanisiweyo ngaphambi kokuba usebenze ne-gcloud, ngakumbi ukuba uza kuqinisekisa ukwenza iminxeba ye-REST kwindawo yakho yendawo. Iisampulu ze-REST API zinokusebenzisa iziqinisekiso oziqwalasele kwi-gcloud.
VM
Iimvume kunye neendima (i-Compute Engine): Ukongeza, ukuhlaziya, okanye ukucima imethadatha yesiko kwii-VM, udinga iimvume ezifanelekileyo ze-IAM. Imizekelo eqhelekileyo ibandakanya:
- Ukuba ii-VM zakho zisebenzisa ii-akhawunti zenkonzo: imvume
iam.serviceAccounts.actAskwinkonzo okanye kwiakhawunti yeprojekthi. - Imetadata yeprojekthi:
compute.projects.getycompute.projects.setCommonInstanceMetadata. - Imetadata yendawo:
compute.instanceSettings.getycompute.instanceSettings.updatekwindawo efanelekileyo. - Imetadata yoMzekelo:
compute.instances.getycompute.instances.setMetadata.
Ukushokoxeka
Le yeyona mida iphambili esiye sadibana nayo xa sizama ukususa imetadata kuGoogle Drive:
- Ubungakanani bomlinganiselo (i-Compute Engine): Itotali edibeneyo yongeniso lwemetadata ifakwe kwi-512 KB. Isitshixo ngasinye sinqunyelwe kwi-128 bytes, kwaye ixabiso ngalinye lilinganiselwe kwi-256 KB. Ukuba, umzekelo, usebenzisa isitshixo se-ssh-key kwaye ugqithe umda we-256 KB, awuzukwazi ukongeza izitshixo de ube ucoca.
- Unobumba ophezulu kunye nomncinci: Izitshixo zinobuthathaka; amaxabiso nawo, ngaphandle kweeBooleans. Kwindawo, awukwazi ukwenza izitshixo ezibini ezahlukileyo kuphela kwimeko (i-zonal-metadata-key vs. ZONAL-METADATA-KEY).
- Imetadata yendawo: zisetwa okanye zisusiwe kusetyenziswa i-gcloud okanye REST. Awunakuchaza amaxabiso endawo yezitshixo zeSSH (ssh-keys). Kwiprojekthi esengqiqweni/yesikhokelo, ukuba kukho inqanaba leprojekthi kunye nexabiso lendawo yesitshixo esifanayo, ixabiso lezoni lithatha indawo yokuqala kwindawo yalo.
- Amaxabiso e-boolean axhaswayo: Ukongeza kwiNYANISO/BUBUXOKI, ungasebenzisa u-Y/Ewe/1 kunye no-N/Hayi/0 (akukho mvakalelo).
- Ulungelelwaniso lweMida (Injini yeKhompyutha):
- Uyilo: imetadata eqhelekileyo kuzo zonke ii-VMs kwiprojekthi.
- Indawo: amangeno achaphazela zonke ii-VMs kwindawo ethile kwaye anokugqithisa ixabiso leprojekthi.
- Umzekelo: imetadata yeVM ethile (iyadalwa okanye sele ikhona).

I-Thumbnails, isalathisi, kunye nokufunyanwa kwedatha kwi-Drive (REST kunye nezenzo ezilungileyo)
Ngoku makhe sijonge indima yee-thumbnails xa ususa imetadata kwi-Google Drive. Kwaye eyona ndlela ilungileyo yokubuyisela kwakhona:
- Ungqinisiso lwe-REST kwindawo: Ukuba uvavanya imizekelo ye-REST kumatshini wakho, sebenzisa iziqinisekiso ezibunjwe ngegcloud. Ngale ndlela, umnxeba wakho weDrive API uya kuhlonipha isazisi kunye neemvumelwano osele uzilungisile.
- Ufakelo lwe-thumbnail engokwezifiso: cwangcisa umxholoHints.thumbnail enemihlaba emibini: i-URL-safe base64 umfanekiso kunye neMimeType echanekileyo. Ukuba iDrive inokuvelisa ngokuzenzekelayo i-thumbnail, iyakusebenzisa eyakhe kwaye itsibe eyakho. Ngaphandle koko, iya kusebenzisa lowo unikezelayo.
Imithetho engundoqo ye-thumbnails kwi-Drive:
- Iifomathi: PNG, GIF okanye JPG.
- Ububanzi obucetyiswayo: 1600 px (ubuncinci 220 px).
- Ubungakanani obukhulu: 2MB.
- Hlaziya i-thumbnail ngogcino ngalunye ukuba lusabalulekile.
Kubalulekile malunga ukungasebenzi: I-Thumbnails ayisebenzi xa imixholo yefayile itshintshiwe; utshintsho lwemetadata alukwenzi. Ukuba utshintsha iithegi kuphela okanye igama, ungalindeli i-thumbnail entsha ngaphandle kokuba uguqula ifayile.
Isicatshulwa esinesalathisi
Ungazami "ukuqhatha" ukhangelo ngamagama. Thatha iikhonsepthi kunye namagama anokuthi umsebenzisi aziphendle ngokufanelekileyo loo fayile, kunye khangela umda we-128KB. Yihlaziye nanini na umxholo utshintsha kakhulu.
Faka amagama ahambelanayo kunye nezandisoNanini na xa kunokwenzeka, bandakanya ulwandiso lwegama xa ufaka; ukuba ilahlekile, iQhuba liza kuzama ukuyichaza nge-MIME. Ukugcina amagama ecacileyo kuya kuthintela ukungaqondakali kunye nokuvumela ukukhangela okulula.
Iithegi kwi-Drive
Ukuguqula iilebhile, qaphela izichazi eziyimfuneko. Uzakufuna ileyibhile yeleyibhile kunye nefayileId yefayile. Ungaqala uzidwelise ngeefayile.listLabels uze usebenzise utshintsho oluhambelanayo kwifayile ekujoliswe kuyo.
// 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.
Khumbula ukuba, Nangona i-Drive igxininise, uphuhliso oluninzi ludibanisa i-Drive kunye ne-Cloud Storage okanye ezinye iinkonzo, Ke uya kubona imizekelo yoGcino ukujonga iimpawu zento.
// 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
}
Ukucima iifayile vs. nokucima imetadata kwi-Google Drive
Ukuba ufuna ntoni cima ifayile kwiDriveNjengomnini, unokuyisusa kwinkunkuma esuka kwiwebhu ngokucofa ekunene kwaye ukhethe Hambisa kwiNkunkuma. Ukuba umnini ngomnye umntu, unga"Susa" kuphela ifayile kwimbono yakho; abanye basaza kuyibona.
ukuba Ukucima ifayile ngokusisigxina, kufuneka ukhuphe inkunkuma okanye usebenzise ukhetho olusisigxina lokucima, Kule meko, awuyi kukwazi ukuyibuyisela kwakhona. Oku, ngokwayo, "ayisusi imetadata" kwezinye iifayile-isebenza kuphela kuloo nto.
Awunako ukucima imethadatha kwiGoogle Drive kwiifayile ongazizo, kuba ulawulo lwabo lolomntu owabadalayo okanye kumntu oneemvume eziphezulu ngaphakathi kumbutho. Kwezi meko, ususa ngokulula ukufikelela kwakho okanye ukubonakala.
Ukuyamanisa nemetadata: Ukucima ifayile kususa imetadata yayo kwiDrive kunye nayo, kodwa ayichaphazeli imethadatha kwezinye iikopi okanye imetadata efakwe kwamanye amaxwebhu asele kwinkqubo.
Ngayo yonke into engentla, ngoku unokwahlula kakuhle Yeyiphi i-metadata Drive controls (igama, iithegi, iingcebiso zokukhangela, kunye ne-thumbnails), ungababuza njani nge-REST, zeziphi iindlela ezifanelekileyo zokulandela ukucoca idatha edibeneyo ngaphambi kokulayisha, kwaye yeyiphi imida kunye neemvume ezidlalayo xa ufumana amaxwebhu e-Google Cloud athetha nge "metadata" kwezinye iimeko.
Umhleli okhethekileyo kwitekhnoloji nakwimiba ye-intanethi eneminyaka engaphezu kweshumi yamava kumajelo osasazo edijithali. Ndisebenze njengomhleli kunye nomdali womxholo we-e-commerce, unxibelelwano, ukuthengisa kwi-intanethi kunye neenkampani zentengiso. Ndibhale kwakhona kwiiwebhusayithi zezoqoqosho, ezemali kunye namanye amacandelo. Umsebenzi wam ukwangumnqweno wam. Ngoku, ngamanqaku am kwi Tecnobits, Ndizama ukuhlola zonke iindaba kunye namathuba amatsha ukuba ihlabathi lobuchwepheshe lisinika yonke imihla ukuphucula ubomi bethu.