Kung nagsisimula ka nang bumuo ng isang mobile o web application, malamang na napagtanto mo na ang pamamahala ng malalaking file tulad ng mga larawan, video, o dokumento ay maaaring maging isang tunay na sakit ng ulo. Upang maiwasan ang abala ng pag-set up ng isang server mula sa simula, Imbakan ng Firebase Ito ay ipinakita bilang ang pinakamahusay na tool, na nagbibigay-daan sa iyong madaling i-save ang nilalamang binuo ng gumagamit nang hindi nag-aalala tungkol sa imprastraktura.
Ang pinakamagandang bahagi ay hindi lang ito basta lugar para mag-drop ng mga file; mayroon itong kumpletong ecosystem. Dahil ito ay integrated sa Pagpapatotoo ng FirebaseMaaari kang magdesisyon kung sino ang eksaktong makakakita ng ano, na pumipigil sa sinuman na manghimasok sa pribadong data ng iyong mga user. Ito ang paraan ng Google para hayaan ang mga developer na tumuon sa functionality ng app sa halip na makipaglaban sa mga storage bucket.
Ano nga ba ang Firebase Storage at paano ito gumagana?
Sa esensya, ito ay isang serbisyo sa pag-iimbak ng bagay na gumagamit ng kapangyarihan ng Google Cloud StorageNangangahulugan ito na ang iyong app ay maaaring lumawak mula sa isang maliit na prototype upang suportahan ang milyun-milyong user nang hindi nagpapakahirap, dahil ginagamit nito ang parehong teknolohiya na nagpapagana sa mga higanteng kumpanya tulad ng Spotify o Google Photos. Ang mga file ay nakaimbak sa tinatawag nating Mga timbana maa-access mula sa parehong Firebase SDK at Google Cloud API.
Isa sa mga hiyas ng serbisyong ito ay ang matatag na operasyonSino ba ang hindi nakaramdam ng pagkadismaya kapag naputol ang 90% na pag-upload dahil sa problema sa Wi-Fi? Nalulutas ito ng Firebase sa pamamagitan ng pagpapahintulot na magpatuloy ang mga pag-upload at pag-download. magsisimula ulit sila kung saan sila tumigilnakakatipid ng oras at datos ng end user. Bukod pa rito, nag-aalok ito ng pandaigdigang kalabisanpagkopya ng mga file sa iba't ibang data center para mas mabilis ang pag-access depende sa kung saan matatagpuan ang tao.
Ang haligi ng kaligtasan: Mga Panuntunan sa Pag-iimbak
Dito naliligaw ang maraming developer, ngunit ito ang pinakamahalagang bahagi. Dahil ang client-side code (JavaScript, Swift, o Kotlin) ay nakikita at maaaring manipulahin, hindi ka maaaring umasa lamang sa front-end para sa seguridad. Dito pumapasok ang mga hakbang sa seguridad. Mga Panuntunan sa Seguridad, isang deklaratibong wika na tumatakbo sa server upang patunayan ang bawat kahilingan.
Ang mga patakaran ay hindi nag-iikli; ibig sabihin, ang pagbibigay ng pahintulot sa isang folder ay hindi awtomatikong ginagawang naa-access ang lahat ng mga subfolder nito. Upang tukuyin ang access, ginagamit natin ang pahayag na tumugma upang tukuyin ang landas ng file at ang pahayag pumayag para pahintulutan ang pagbabasa o pagsusulat. Kung walang panuntunang tumutugma sa hiniling na landas, ang Firebase, bilang default, tatanggihan ang aksyon Para sa seguridad.
Mga uri ng ruta at mga wildcard
- Mga partikular na ruta: Kapag gusto mong kontrolin ang isang file, tulad ng
/configuracion.json. - Mga wildcard sa isang antas: Paggamit ng sintaks
{variable}Maaari kang sumangguni sa anumang file sa loob ng isang folder, ngunit hindi sa mga subdirectory. Halimbawa,/fotos/{imagen}. - Maraming wild card: Pagpapahayag
{allPaths=**}Ito ang pinakamalakas, dahil nakakaapekto ito sa lahat ng antas ng pugad ng mga direktoryo.
Para maging tunay na ligtas ang sistema, mainam na ang access ay dapat na nakakonekta sa UID ng GumagamitSa ganitong paraan, makakagawa ka ng istruktura kung saan ang bawat tao ay may access lamang sa kanilang sariling folder: match /usuarios/{userId}/{allPaths=**} { allow read, write: if request.auth.uid == userId; }Kaya, sinusuri ng sistema na ang natatanging identifier Ang pangalan ng na-authenticate na user ay tumutugma sa pangalan ng folder na sinusubukan nilang i-access.
Advanced na pagpapatunay ng datos
Hindi sapat ang malaman kung sino ang papasok; kailangan mo ring kontrolin kung ano ang papasok. Sa pamamagitan ng bagay kahilingan.mapagkukunanMaaari kaming magpataw ng mahigpit na mga limitasyon. Halimbawa, kung gusto mong pigilan ang isang tao sa pag-upload ng 1 GB na file na nakabalatkayo bilang isang larawan sa profile, maaari mong patunayan na ang mas mababa sa 1MB ang laki at iyon ang uri ng nilalaman tumugma sa isang format ng imahe (tulad ng image/jpeg o image/png).
Ang bagay mapagkukunanSa kabilang banda, nagbibigay ito sa atin ng impormasyon tungkol sa file na umiiral na sa server, na nagpapahintulot sa atin na magsagawa ng mga pagsusuri bago ito burahin o baguhin. Ang kombinasyon ng pagpapatotoo at pagpapatunay ng metadata ay ginagawang ligtas ang imbakan. tabako at propesyonal.
Implementación técnica y flujo de trabajo
Para mapagana ito, kailangan mo munang paganahin ang serbisyo sa console ng FirebaseKung gumagamit ka ng Android, kakailanganin mong idagdag ang dependency para sa imbakan ng firebase sa iyong Gradle file. Sa Flutter, ang proseso ay magkatulad, gamit ang mga partikular na pakete at paggawa ng isang instance na may FirebaseStorage.instance.
Ang pangunahing daloy ay binubuo ng paglikha ng isang sanggunian sa ruta (isang pointer patungo sa lokasyon kung saan mapupunta ang file) at pagkatapos ay isagawa ang aksyon sa pag-upload gamit ang mga pamamaraan tulad ng ilagay ang FileKung kailangan mong i-recover ang file, ang paraan getDownloadURL Magbibigay ito sa iyo ng pansamantala o permanenteng pampublikong link na magagamit mo sa iyong interface upang ipakita ang imahe o dokumento.
Mga gastos at limitasyon ng serbisyo
Nag-aalok ang Firebase ng libreng plano (Spark) napakalawak, kabilang ang hanggang 5 GB na storage at pang-araw-araw na limitasyon sa pag-download na 1 GB. Kung umepekto ang iyong app at lumampas ka sa mga limitasyong ito, lilipat ka sa susunod na modelo. magbayad bawat gamitkung saan isang maliit na bahagi ng isang dolyar ang sinisingil para sa bawat gigabyte bawat buwan at para sa mga operasyon sa pagbasa at pagsulat na isinagawa.
Ang buong arkitekturang ito ay nagbibigay-daan sa sinumang developer na pamahalaan ang imprastraktura ng archive mahusay, na nagdedelega ng pagiging kumplikado at seguridad ng network sa mga server ng Google, habang pinapanatili ang ganap na kontrol sa privacy ng data sa pamamagitan ng mga pasadyang panuntunan at tuluy-tuloy na integrasyon sa mga sistema ng pagpapatotoo.