- ເຂົ້າໃຈສິ່ງທີ່ metadata Drive ຈັດການ (ຊື່, tags, indexableText, ແລະຮູບຕົວຢ່າງ) ແລະ metadata ໃດເປັນຂອງບໍລິການ Google Cloud ອື່ນໆ.
- ໃຊ້ Drive API ເພື່ອສອບຖາມ ແລະປັບ metadata; ອະນາໄມ EXIF ແລະຂໍ້ມູນທີ່ຝັງໄວ້ກ່ອນທີ່ຈະອັບໂຫລດໄຟລ໌.
- ເຄົາລົບຂໍ້ຈໍາກັດແລະກົດລະບຽບ (ຮູບຕົວຢ່າງ, ຂໍ້ຄວາມທີ່ສາມາດດັດສະນີໄດ້, ສ່ວນຂະຫຍາຍ) ແລະກວດສອບຄວາມຖືກຕ້ອງດ້ວຍ gcloud ສໍາລັບການທົດສອບ REST ທ້ອງຖິ່ນ.
ທ່ານຕ້ອງການຄວບຄຸມ metadata ຂອງໄຟລ໌ຂອງທ່ານໃນ ກູໂກຂັບລົດ ແລະບໍ່ຮູ້ບ່ອນທີ່ຈະເລີ່ມຕົ້ນ? ໃນທີ່ນີ້ພວກເຮົາອະທິບາຍຢ່າງລະອຽດ, ວິທີການເອົາ metadata ໃນ Google Drive ມີປະສິດທິພາບແລະປອດໄພ (ເມຕາເດຕາຂອງໄຟລ໌ທີ່ອັບໂຫລດ). ພວກເຮົາຍັງບອກທ່ານກ່ຽວກັບສິ່ງທີ່ຈໍາກັດ Google ກໍານົດຊື່ໄຟລ໌, ຂະຫນາດ, ແລະການອະນຸຍາດ.
ຄູ່ມືນີ້ຈະໃຫ້ທ່ານມີຄວາມເຂົ້າໃຈຄົບຖ້ວນສົມບູນກ່ຽວກັບສິ່ງທີ່ສາມາດ (ແລະບໍ່ສາມາດ) ຖືກ "ລຶບ" ເມື່ອມັນມາກັບ metadata ໃນ Google Drive.
ສິ່ງທີ່ສາມາດປ່ຽນແປງຫຼື "ລຶບ" ໃນ Drive
ເຫຼົ່ານີ້ແມ່ນ metadata ທີ່ສາມາດເອົາອອກຈາກໄຟລ໌ທີ່ອັບໂຫຼດໃສ່ Google Drive:
ຊື່ແລະນາມສະກຸນ: ເມື່ອສ້າງໄຟລ໌ຜ່ານ API, ມັນເປັນຄວາມຄິດທີ່ດີທີ່ຈະລະບຸນາມສະກຸນໃນພາກສະຫນາມຊື່, ຕົວຢ່າງ "cat.jpg." Drive ສາມາດຄາດເດົາການຂະຫຍາຍຈາກປະເພດ MIME ຖ້າທ່ານບໍ່ລະບຸມັນ, ແຕ່ມັນດີກວ່າທີ່ຈະກໍານົດມັນເອງ. ໃນຄໍາຕອບຕໍ່ມາ, fileExtension ທີ່ສາມາດອ່ານໄດ້ຢ່າງດຽວອາດຈະປາກົດພ້ອມກັບສ່ວນຂະຫຍາຍທີ່ມາຈາກຊື່. ຖ້າຜູ້ໃຊ້ດາວໂຫຼດໄຟລ໌, Drive ຈະລວບລວມຊື່ສຸດທ້າຍຈາກຫົວຂໍ້ (ແລະສ່ວນຂະຫຍາຍຂອງມັນ).
- ຂໍ້ຄວາມທີ່ສາມາດດັດສະນີໄດ້ (contentHints.indexableText): Drive ດັດສະນີເອກະສານ ແລະປະເພດທົ່ວໄປ (PDFs, ຮູບພາບທີ່ເປີດໃຊ້ OCR, ແລະອື່ນໆ) ຕາມຄ່າເລີ່ມຕົ້ນ. ຖ້າແອັບຯຂອງທ່ານບັນທຶກຮູບແບບອື່ນໆ (ຮູບແຕ້ມ, ວິດີໂອ, ທາງລັດ), ທ່ານສາມາດສະຫນອງຂໍ້ຄວາມທີ່ສາມາດດັດສະນີໄດ້ເພື່ອປັບປຸງການຊອກຫາ. ຂໍ້ຄວາມນີ້ຖືກປະມວນຜົນເປັນ HTML: ຖ້າທ່ານຜ່ານສະຕຣິງທີ່ມີແທັກ, ເນື້ອໃນຂໍ້ຄວາມຈະຖືກດັດສະນີ, ບໍ່ແມ່ນຄຸນລັກສະນະຂອງແທັກ. ມີຂອບເຂດຈໍາກັດຂະຫນາດ 128KB ສໍາລັບ contentHints.indexableText, ແລະມັນແນະນໍາໃຫ້ທ່ານປັບປຸງມັນໃນແຕ່ລະບັນທຶກແລະຮັກສາມັນກ່ຽວຂ້ອງກັບໄຟລ໌.
- ຮູບຕົວຢ່າງ (contentHints.thumbnail): Drive ສ້າງຮູບຫຍໍ້ສໍາລັບຫຼາຍປະເພດ, ແຕ່ສໍາລັບຮູບແບບທີ່ບໍ່ໄດ້ສ້າງອັດຕະໂນມັດ, ທ່ານສາມາດອັບໂຫລດຂອງທ່ານເອງເມື່ອທ່ານສ້າງຫຼືປັບປຸງໄຟລ໌. ທ່ານຕ້ອງຕັ້ງຮູບພາບເປັນ URL-safe base64 ແລະ mimeType ທີ່ສອດຄ້ອງກັນ. ກົດລະບຽບທີ່ສໍາຄັນ: ຮູບແບບສະຫນັບສະຫນູນແມ່ນ PNG, GIF, ຫຼື JPG; ຄວາມກວ້າງທີ່ແນະນຳແມ່ນ 1600px (ຕ່ຳສຸດ 220px), ແລະຂະໜາດສູງສຸດແມ່ນ 2MB. ຮູບຫຍໍ້ແມ່ນບໍ່ຖືກຕ້ອງເມື່ອເນື້ອຫາໄຟລ໌ປ່ຽນແປງ; ການປ່ຽນແປງ metadata ບໍ່.
- ການເຂົ້າເຖິງຮູບຕົວຢ່າງ: ຊ່ອງຂໍ້ມູນ ThumbnailLink ສົ່ງຄືນ URL ສັ້ນ, ສາມາດເຂົ້າເຖິງໄດ້ພຽງແຕ່ຖ້າແອັບຯໄດ້ຮັບການອະນຸຍາດໃຫ້ອ່ານໄຟລ໌ (ຖ້າມັນບໍ່ແມ່ນສາທາລະນະ, ທ່ານຈະຕ້ອງຮ້ອງຂໍໃຫ້ມີຂໍ້ມູນປະຈໍາຕົວ). ທ່ານສາມາດສອບຖາມມັນສໍາລັບໄຟລ໌ສະເພາະໃດຫນຶ່ງຫຼືສໍາລັບບັນຊີລາຍຊື່ທີ່ຖືກກັ່ນຕອງຕາມປະເພດ.
- ປ້າຍກຳກັບ: Drive ອະນຸຍາດໃຫ້ທ່ານເຊື່ອມໂຍງປ້າຍກຳກັບກັບໄຟລ໌. ເພື່ອຊອກຫາພວກມັນ, ທ່ານສາມາດໃຊ້ files.listLabels, ແລະເພື່ອດັດແປງພວກມັນ, ທ່ານຕ້ອງອ້າງເຖິງ labelId ແລະ fileId ທີ່ສອດຄ້ອງກັນ. ກົນໄກນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບການຈັດປະເພດແລະ, ຖ້າຈໍາເປັນ, "ທໍາຄວາມສະອາດ" ການຈັດປະເພດທີ່ບໍ່ຕ້ອງການໂດຍບໍ່ມີການສໍາຜັດກັບເນື້ອຫາ.
ລຶບ metadata ໃນ Google Drive: metadata "ເຊື່ອງໄວ້" ຈາກໄຟລ໌ຕົວມັນເອງ
ບໍ່ມີປຸ່ມ magic ທີ່ຈະເອົາ metadata ໃນ Google Drive (ເຊັ່ນ: EXIF ໃນຮູບຫຼືຂໍ້ມູນທີ່ຝັງຢູ່ໃນ PDFs). Drive ຈັດການ metadata ຂອງຕົນເອງ, ແຕ່ metadata ພາຍໃນໄຟລ໌ແມ່ນຂຶ້ນກັບເຄື່ອງມືທີ່ສ້າງມັນ.
ການປະຕິບັດທີ່ແນະນໍາແມ່ນ ເຮັດຄວາມສະອາດໄຟລ໌ກ່ອນທີ່ຈະອັບໂຫຼດມັນໃສ່ Drive, ການນໍາໃຊ້ເຄື່ອງມືລະບົບຫຼືກິດພິເສດທີ່ເອົາຂໍ້ມູນ EXIF ຈາກຮູບພາບຫຼືຄຸນສົມບັດເອກະສານ. ດ້ວຍວິທີນີ້, ເນື້ອຫາທີ່ທ່ານບັນທຶກໄວ້ໃນ Drive ຈະ "ຖືກອະນາໄມ."
ຖ້າທ່ານມີໄຟລ໌ທີ່ອັບໂຫລດດ້ວຍ metadata ທີ່ຝັງຢູ່ແລ້ວ, ແທນທີ່ຈະເອົາ metadata ໃນ Google Drive, ມັນສະດວກກວ່າ. ດາວໂຫລດ, ເຮັດຄວາມສະອາດແລະອັບໂຫລດໃຫມ່, ການປ່ຽນແທນຕົ້ນສະບັບຖ້າເປັນໄປໄດ້. ດ້ວຍ PDF ຫຼືຮູບພາບ, ນີ້ແມ່ນເລື່ອງທົ່ວໄປໃນເວລາທີ່ທ່ານຕ້ອງການປົກປ້ອງການປະພັນ, ສະຖານທີ່, ຫຼືປະຫວັດການແກ້ໄຂ.
ສໍາລັບພາກສ່ວນສະເພາະຂອງ Drive, ສຸມໃສ່ການປັບຊື່, ປ້າຍກຳກັບ ແລະຂໍ້ແນະນຳເນື້ອຫາ (ຂໍ້ຄວາມທີ່ສາມາດດັດສະນີໄດ້/ຮູບຫຍໍ້), ທີ່ຢູ່ພາຍໃຕ້ການຄວບຄຸມຂອງເຈົ້າ. ຖ້າທ່ານຍັງຈັດການສິດການເຂົ້າເຖິງ, ທ່ານຍັງຫຼຸດຜ່ອນການເປີດເຜີຍຂອງ metadata ທີ່ເຫັນໄດ້ (ຕົວຢ່າງເຊັ່ນ, ການເຊື່ອມຕໍ່ຮູບຫຍໍ້ທີ່ສາມາດເຂົ້າເຖິງຜູ້ທີ່ມີສິດອ່ານ).
ຢ່າລືມວ່າ ການປ່ຽນແປງສະເພາະ Drive metadata ບໍ່ໄດ້ເອົາ EXIF ຫຼືຄຸນສົມບັດພາຍໃນ. ດັ່ງນັ້ນ, ຍຸດທະສາດຂອງທ່ານຄວນສົມທົບການທໍາຄວາມສະອາດໄຟລ໌ລ່ວງຫນ້າກັບການຈັດການ metadata ລະອຽດທີ່ Drive ອະນຸຍາດໃຫ້ທ່ານສໍາຜັດ.
metadata ທີ່ສັບສົນທົ່ວໄປໃນ Google Cloud: VMs, gcloud, ແລະຂອບເຂດຈໍາກັດ
ຖ້າທ່ານເຮັດວຽກກັບ Google Cloud, ທ່ານຈະເຫັນຫຼາຍຢ່າງ ຄໍາແນະນໍາກ່ຽວກັບ "metadata" ທີ່ຕົວຈິງແລ້ວຫມາຍເຖິງ Compute Engine ຫຼື Cloud Storage, ບໍ່ແມ່ນ Drive. ເຖິງຢ່າງນັ້ນ, ເຈົ້າຢາກຮູ້ຈຸດເຫຼົ່ານີ້ເພື່ອບໍ່ໃຫ້ມັນປະສົມກັນໃນເວລາຄົ້ນຄວ້າ.
ການຕັ້ງຄ່າ gcloud CLI ພື້ນຖານ
ຫຼັງຈາກການຕິດຕັ້ງ Google Cloud CLI, ເລີ່ມຕົ້ນດ້ວຍ:
gcloud init
ມັນເປັນສິ່ງສໍາຄັນເພື່ອໃຫ້ແນ່ໃຈວ່າທ່ານມີສະບັບຫລ້າສຸດກັບ:
gcloud components update
ຖ້າທ່ານໃຊ້ຜູ້ໃຫ້ບໍລິການຕົວຕົນພາຍນອກ, ເຂົ້າສູ່ລະບົບດ້ວຍຕົວຕົນທີ່ເປັນສະຫະພັນຂອງທ່ານກ່ອນທີ່ຈະເຮັດວຽກກັບ gcloud, ໂດຍສະເພາະຖ້າທ່ານຈະກວດສອບຄວາມຖືກຕ້ອງເພື່ອເຮັດໃຫ້ການໂທ REST ຈາກສະພາບແວດລ້ອມທ້ອງຖິ່ນຂອງທ່ານ. ຕົວຢ່າງ REST API ສາມາດໃຊ້ຂໍ້ມູນປະຈໍາຕົວທີ່ທ່ານໄດ້ຕັ້ງຄ່າໄວ້ໃນ gcloud.
VMs
ການອະນຸຍາດແລະບົດບາດ (Compute Engine): ເພື່ອເພີ່ມ, ອັບເດດ, ຫຼືລຶບເມຕາເດຕາແບບກຳນົດເອງໃນ VMs, ທ່ານຕ້ອງການສິດ IAM ທີ່ເຫມາະສົມ. ຕົວຢ່າງທົ່ວໄປລວມມີ:
- ຖ້າ VMs ຂອງທ່ານໃຊ້ບັນຊີບໍລິການ: ການອະນຸຍາດ
iam.serviceAccounts.actAsໃນບັນຊີການບໍລິການ ຫຼືໂຄງການ. - metadata ຂອງໂຄງການ:
compute.projects.getycompute.projects.setCommonInstanceMetadata. - ເມຕາເດຕາເຂດ:
compute.instanceSettings.getycompute.instanceSettings.updateສໍາລັບຂົງເຂດທີ່ກ່ຽວຂ້ອງ. - ຂໍ້ມູນເມຕາຂອງຕົວຢ່າງ:
compute.instances.getycompute.instances.setMetadata.
ຂໍ້ ຈຳ ກັດ
ເຫຼົ່ານີ້ແມ່ນຂໍ້ຈໍາກັດຕົ້ນຕໍທີ່ພວກເຮົາພົບໃນເວລາທີ່ພະຍາຍາມເອົາ metadata ໃນ Google Drive:
- ຂໍ້ຈໍາກັດຂະຫນາດ (Compute Engine): ຈໍານວນທັງຫມົດລວມຂອງ metadata entries ແມ່ນ capped ຢູ່ທີ່ 512 KB. ແຕ່ລະຄີໄດ້ຖືກຈໍາກັດຢູ່ທີ່ 128 ໄບຕ໌, ແລະແຕ່ລະຄ່າຖືກຈໍາກັດຢູ່ທີ່ 256 KB. ຕົວຢ່າງ, ຖ້າເຈົ້າໃຊ້ກະແຈ ssh-keys ແລະເກີນຂີດຈຳກັດ 256 KB, ເຈົ້າຈະບໍ່ສາມາດເພີ່ມກະແຈເພີ່ມເຕີມໄດ້ຈົນກວ່າເຈົ້າຈະທຳຄວາມສະອາດ.
- ໂຕພິມໃຫຍ່ ແລະ ໂຕນ້ອຍ: ກະແຈແມ່ນຕົວພິມນ້ອຍໃຫຍ່; ຄ່າແມ່ນເກີນໄປ, ຍົກເວັ້ນສໍາລັບ Booleans. ໃນ zonal, ທ່ານບໍ່ສາມາດສ້າງສອງກະແຈທີ່ແຕກຕ່າງພຽງແຕ່ໃນກໍລະນີ (zonal-metadata-key vs. ZONAL-METADATA-KEY).
- ເມຕາເດຕາເຂດ: ຖືກຕັ້ງຫຼືເອົາອອກໂດຍໃຊ້ gcloud ຫຼື REST. ທ່ານບໍ່ສາມາດກໍານົດຄ່າ zonal ສໍາລັບກະແຈ SSH (ssh-keys). ໃນໂຄງການ / ໄດເລກະທໍລີທີ່ມີເຫດຜົນ, ຖ້າມີລະດັບໂຄງການແລະມູນຄ່າ zonal ສໍາລັບລະຫັດດຽວກັນ, ມູນຄ່າ zonal ມີຄວາມສໍາຄັນໃນຂອບເຂດຂອງມັນ.
- ຄ່າ boolean ທີ່ຮອງຮັບ: ນອກເໜືອໄປຈາກ TRUE/FALSE, ທ່ານສາມາດໃຊ້ Y/Yes/1 ແລະ N/No/0 (ຕົວພິມນ້ອຍ/ໃຫຍ່).
- ຂອບເຂດການຕັ້ງຄ່າ (Compute Engine):
- ຮ່າງ: metadata ທົ່ວໄປກັບ VM ທັງຫມົດໃນໂຄງການ.
- ເຂດ: ລາຍການທີ່ສົ່ງຜົນກະທົບຕໍ່ VMs ທັງໝົດໃນເຂດໃດນຶ່ງ ແລະສາມາດ override ມູນຄ່າໂຄງການ.
- ຕົວຢ່າງ: metadata ສໍາລັບ VM ສະເພາະ (ຖືກສ້າງຂື້ນຫຼືມີຢູ່ແລ້ວ).

ຮູບຕົວຢ່າງ, ການສ້າງດັດສະນີ, ແລະການດຶງຂໍ້ມູນ metadata ໃນ Drive (REST ແລະການປະຕິບັດທີ່ດີທີ່ສຸດ)
ຕອນນີ້ໃຫ້ເຮົາເບິ່ງບົດບາດຂອງຮູບຕົວຢ່າງເມື່ອລຶບ metadata ໃນ Google Drive. ແລະຍັງເປັນວິທີທີ່ດີທີ່ສຸດທີ່ຈະຟື້ນຕົວໃຫ້ເຂົາເຈົ້າ:
- ການກວດສອບຄວາມຖືກຕ້ອງສໍາລັບ REST ຢູ່ໃນສະຖານທີ່: ຖ້າຫາກວ່າທ່ານກໍາລັງທົດສອບຕົວຢ່າງ REST ຈາກເຄື່ອງຂອງທ່ານ, ໃຫ້ນໍາໃຊ້ໃບຢັ້ງຢືນການກໍານົດຄ່າກັບ gcloud. ດ້ວຍວິທີນີ້, ການໂທ API ຂອງ Drive ຂອງທ່ານຈະເຄົາລົບເອກະລັກ ແລະສິດອະນຸຍາດທີ່ທ່ານໄດ້ຕັ້ງໄວ້ແລ້ວ.
- ອັບໂຫຼດຮູບຕົວຢ່າງແບບກຳນົດເອງ: ຕັ້ງ contentHints.thumbnail ດ້ວຍສອງຊ່ອງຂໍ້ມູນ: ຮູບ base64 ທີ່ປອດໄພ URL ແລະ mimeType ທີ່ຖືກຕ້ອງ. ຖ້າ Drive ສາມາດສ້າງຮູບຫຍໍ້ໄດ້ໂດຍອັດຕະໂນມັດ, ມັນຈະໃຊ້ມັນເອງ ແລະຂ້າມຮູບຂອງເຈົ້າໄປ. ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນຈະໃຊ້ອັນທີ່ທ່ານໃຫ້.
ກົດລະບຽບຫຼັກສຳລັບຮູບຕົວຢ່າງໃນ Drive:
- ຮູບແບບ: PNG, GIF ຫຼື JPG.
- ຄວາມກວ້າງທີ່ແນະນຳ: 1600 px (ຕ່ຳສຸດ 220 px).
- ຂະໜາດສູງສຸດ: 2MB.
- ອັບເດດຮູບຫຍໍ້ດ້ວຍແຕ່ລະບັນທຶກຖ້າມັນຍັງກ່ຽວຂ້ອງ.
ສໍາຄັນກ່ຽວກັບ ບໍ່ຖືກຕ້ອງ: ຮູບຫຍໍ້ແມ່ນບໍ່ຖືກຕ້ອງເມື່ອເນື້ອຫາຂອງໄຟລ໌ຖືກປ່ຽນແປງ; ການປ່ຽນແປງ metadata ບໍ່ເຮັດ. ຖ້າທ່ານພຽງແຕ່ປ່ຽນແທັກຫຼືຊື່, ຢ່າຄາດຫວັງວ່າຮູບຫຍໍ້ໃຫມ່ເວັ້ນເສຍແຕ່ວ່າທ່ານດັດແປງໄຟລ໌.
ຂໍ້ຄວາມທີ່ສາມາດດັດສະນີໄດ້
ຢ່າພະຍາຍາມ "ຫຼອກລວງ" ການຄົ້ນຫາດ້ວຍ buzzwords. ເກັບກໍາແນວຄວາມຄິດແລະຂໍ້ກໍານົດທີ່ຜູ້ໃຊ້ສົມເຫດສົມຜົນຈະຄົ້ນຫາໄຟລ໌ນັ້ນ, ແລະ ກວດເບິ່ງຂອບເຂດຈໍາກັດ 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 ກັບ Cloud Storage ຫຼືບໍລິການອື່ນໆ, ດັ່ງນັ້ນທ່ານຈະເຫັນຕົວຢ່າງຂອງການເກັບຮັກສາເພື່ອກວດກາຄຸນລັກສະນະວັດຖຸ.
// 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
}
ການລຶບໄຟລ໌ທຽບກັບການລຶບ metadata ໃນ Google Drive
ຖ້າສິ່ງທີ່ທ່ານຕ້ອງການແມ່ນ ລຶບໄຟລ໌ອອກຈາກ Driveໃນຖານະເປັນເຈົ້າຂອງ, ທ່ານສາມາດຍ້າຍມັນໄປຖັງຂີ້ເຫຍື້ອຈາກເວັບໂດຍການຄລິກຂວາແລະເລືອກຍ້າຍໄປຖັງຂີ້ເຫຍື້ອ. ຖ້າເຈົ້າຂອງເປັນຄົນອື່ນ, ທ່ານພຽງແຕ່ສາມາດ "ເອົາ" ໄຟລ໌ອອກຈາກມຸມເບິ່ງຂອງທ່ານ; ຄົນອື່ນຍັງຈະສາມາດເບິ່ງມັນໄດ້.
para ເພື່ອລຶບໄຟລ໌ຢ່າງຖາວອນ, ທ່ານຕ້ອງລ້າງຖັງຂີ້ເຫຍື້ອ ຫຼືໃຊ້ຕົວເລືອກການລຶບຖາວອນ, ໃນກໍລະນີນີ້, ທ່ານຈະບໍ່ສາມາດຟື້ນຕົວມັນ. ນີ້, ໂດຍຕົວມັນເອງ, ບໍ່ໄດ້ "ເອົາ metadata" ຈາກໄຟລ໌ອື່ນໆ - ມັນໃຊ້ກັບລາຍການນັ້ນເທົ່ານັ້ນ.
ທ່ານບໍ່ສາມາດລຶບ metadata ໃນ Google Drive ຈາກໄຟລ໌ທີ່ທ່ານບໍ່ໄດ້ເປັນເຈົ້າຂອງ, ເນື່ອງຈາກວ່າການຄວບຄຸມຂອງເຂົາເຈົ້າເປັນຂອງບຸກຄົນທີ່ສ້າງໃຫ້ເຂົາເຈົ້າຫຼືຜູ້ທີ່ໄດ້ຮັບອະນຸຍາດສູງກວ່າພາຍໃນອົງການຈັດຕັ້ງ. ໃນກໍລະນີເຫຼົ່ານີ້, ທ່ານພຽງແຕ່ເອົາການເຂົ້າເຖິງຫຼືການເບິ່ງເຫັນຂອງທ່ານ.
ກ່ຽວຂ້ອງກັບມັນກັບ metadata: ການລຶບໄຟລ໌ລຶບ metadata ຂອງມັນຢູ່ໃນ Drive ພ້ອມກັບມັນ, ແຕ່ມັນບໍ່ມີຜົນຕໍ່ metadata ໃນສຳເນົາອື່ນ ຫຼື metadata ຝັງຢູ່ໃນເອກະສານອື່ນໆທີ່ຍັງຄົງຢູ່ໃນລະບົບ.
ດ້ວຍສິ່ງທີ່ກ່າວມາຂ້າງເທິງ, ດຽວນີ້ທ່ານສາມາດແຍກຄວາມແຕກຕ່າງໄດ້ດີ ຂໍ້ມູນເມຕາເດຕາໃດທີ່ Drive ຄວບຄຸມ (ຊື່, ແທັກ, ຄຳໃບ້ຊອກຫາ ແລະຮູບຕົວຢ່າງ), ວິທີການສອບຖາມພວກເຂົາຜ່ານ REST, ການປະຕິບັດທີ່ດີທີ່ສຸດທີ່ຈະປະຕິບັດຕາມສໍາລັບການທໍາຄວາມສະອາດຂໍ້ມູນຝັງຕົວກ່ອນທີ່ຈະອັບໂຫລດ, ແລະສິ່ງທີ່ຈໍາກັດແລະການອະນຸຍາດເຂົ້າມາໃນເວລາທີ່ພົບເອກະສານ Google Cloud ທີ່ເວົ້າກ່ຽວກັບ "metadata" ໃນສະພາບການອື່ນໆ.
ບັນນາທິການຊ່ຽວຊານໃນບັນຫາເຕັກໂນໂລຢີແລະອິນເຕີເນັດທີ່ມີປະສົບການຫຼາຍກວ່າສິບປີໃນສື່ດິຈິຕອນທີ່ແຕກຕ່າງກັນ. ຂ້າພະເຈົ້າໄດ້ເຮັດວຽກເປັນບັນນາທິການແລະຜູ້ສ້າງເນື້ອຫາສໍາລັບ e-commerce, ການສື່ສານ, ການຕະຫຼາດອອນໄລນ໌ແລະບໍລິສັດໂຄສະນາ. ຂ້າພະເຈົ້າຍັງໄດ້ຂຽນກ່ຽວກັບເສດຖະກິດ, ການເງິນແລະເວັບໄຊທ໌ຂອງຂະແຫນງການອື່ນໆ. ການເຮັດວຽກຂອງຂ້ອຍຍັງເປັນ passion ຂອງຂ້ອຍ. ໃນປັດຈຸບັນ, ໂດຍຜ່ານບົດຄວາມຂອງຂ້າພະເຈົ້າໃນ Tecnobits, ຂ້າພະເຈົ້າພະຍາຍາມຄົ້ນຫາຂ່າວທັງຫມົດແລະໂອກາດໃຫມ່ທີ່ໂລກຂອງເຕັກໂນໂລຢີສະເຫນີໃຫ້ພວກເຮົາທຸກໆມື້ເພື່ອປັບປຸງຊີວິດຂອງພວກເຮົາ.