Cloud Storage for Firebase ให้คุณอัปโหลดและแชร์เนื้อหาที่ผู้ใช้สร้างขึ้น เช่น รูปภาพและวิดีโอ ซึ่งช่วยให้คุณสร้างเนื้อหาสื่อสมบูรณ์ในแอปของคุณได้ ข้อมูลของคุณจัดเก็บไว้ในที่เก็บข้อมูล Google Cloud Storage ซึ่งเป็นโซลูชันพื้นที่จัดเก็บอ็อบเจ็กต์ขนาดเอกซะไบต์ที่มีความพร้อมใช้งานสูงและสำรองทั่วโลก Cloud Storage for Firebase ช่วยให้คุณอัปโหลดไฟล์เหล่านี้ได้อย่างปลอดภัยโดยตรงจากอุปกรณ์เคลื่อนที่และเว็บเบราว์เซอร์ จัดการเครือข่ายขาดๆ หายๆ ได้อย่างง่ายดาย
ข้อกำหนดเบื้องต้น
หากคุณยังไม่ได้ ติดตั้ง ให้ติดตั้ง Firebase JS SDK และเริ่มต้น Firebase
สร้างที่เก็บข้อมูล Cloud Storage เริ่มต้น
จากบานหน้าต่างการนำทางของ คอนโซล Firebase เลือก ที่เก็บข้อมูล จากนั้นคลิก เริ่มต้น
ตรวจสอบข้อความเกี่ยวกับการรักษาความปลอดภัยข้อมูล Cloud Storage ของคุณโดยใช้กฎความปลอดภัย ในระหว่างการพัฒนา ให้พิจารณา ตั้งกฎสำหรับการเข้าถึงแบบสาธารณะ
เลือก ตำแหน่ง สำหรับที่ฝากข้อมูล Cloud Storage เริ่มต้นของคุณ
การตั้งค่าตำแหน่งนี้เป็น ตำแหน่งทรัพยากรเริ่มต้นของ Google Cloud Platform (GCP) ในโครงการของคุณ โปรดทราบว่าตำแหน่งนี้จะใช้สำหรับบริการ GCP ในโครงการของคุณที่ต้องการการตั้งค่าตำแหน่ง โดยเฉพาะฐานข้อมูล Cloud Firestore และแอป App Engine ของคุณ (ซึ่งจำเป็นหากคุณใช้ Cloud Scheduler)
หากคุณไม่สามารถเลือกตำแหน่งได้ แสดงว่าโครงการของคุณมีตำแหน่งทรัพยากร GCP เริ่มต้นอยู่แล้ว มีการตั้งค่าระหว่างการสร้างโครงการหรือเมื่อตั้งค่าบริการอื่นที่ต้องมีการตั้งค่าตำแหน่ง
หากคุณใช้แผน Blaze คุณสามารถ สร้างที่เก็บข้อมูลได้หลายที่ โดยแต่ละที่จะมี ที่ตั้ง ของตัวเอง
คลิก เสร็จสิ้น
ตั้งค่าการเข้าถึงแบบสาธารณะ
Cloud Storage for Firebase มีภาษาของกฎการประกาศที่ช่วยให้คุณกำหนดได้ว่าข้อมูลของคุณควรมีโครงสร้างอย่างไร ควรทำดัชนีอย่างไร และเมื่อใดที่สามารถอ่านและเขียนข้อมูลของคุณได้ ตามค่าเริ่มต้น การเข้าถึงเพื่ออ่านและเขียนไปยัง Cloud Storage จะถูกจำกัด ดังนั้นเฉพาะผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์เท่านั้นที่สามารถอ่านหรือเขียนข้อมูลได้ ในการเริ่มต้นโดยไม่ต้องตั้งค่า การรับรองความถูกต้อง คุณสามารถ กำหนดค่ากฎของคุณสำหรับการเข้าถึงแบบสาธารณะ
ซึ่งจะทำให้ Cloud Storage เปิดสำหรับทุกคน แม้แต่คนที่ไม่ได้ใช้แอปของคุณ ดังนั้นอย่าลืมจำกัด Cloud Storage ของคุณอีกครั้งเมื่อคุณตั้งค่าการตรวจสอบสิทธิ์
เพิ่ม URL ที่ฝากข้อมูลของคุณไปยังแอปของคุณ
หากยังไม่ได้รวมไว้ คุณต้องเพิ่ม URL ที่เก็บข้อมูล Cloud Storage ลงใน ออบเจ็กต์การกำหนดค่าของแอป Firebase
ไปที่แดชบอร์ดที่เก็บข้อมูลของคุณใน คอนโซล Firebase
คลิกแท็บ ไฟล์ จากนั้นดูที่ส่วนหัวของโปรแกรมดูไฟล์
คัดลอก URL ไปยังคลิปบอร์ดของคุณ ปกติจะอยู่ในรูปแบบ
project-id .appspot.com
หากต้องการใช้ออบเจ็กต์
firebaseConfig
ในแอป ให้เพิ่มแอตทริบิวต์storageBucket
ด้วย URL ที่ฝากข้อมูลของคุณ:
Web version 9
import { initializeApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '' }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = getStorage(app);
Web version 8
import firebase from "firebase/app"; import "firebase/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '[your-storage-bucket-url]' }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = firebase.storage();
คุณพร้อมที่จะเริ่มใช้ Cloud Storage แล้ว!
ขั้นตอนต่อไป? เรียนรู้วิธี สร้างข้อมูลอ้างอิง Cloud Storage
การตั้งค่าขั้นสูง
มีกรณีการใช้งานบางอย่างที่ต้องตั้งค่าเพิ่มเติม:
- การใช้บัคเก็ต Cloud Storage ใน หลายพื้นที่ทางภูมิศาสตร์
- การใช้บัคเก็ต Cloud Storage ใน คลาสพื้นที่เก็บข้อมูลต่างๆ
- การใช้ที่ฝากข้อมูล Cloud Storage กับผู้ใช้ที่ผ่านการรับรองความถูกต้องหลายคนในแอปเดียวกัน
กรณีการใช้งานแรกนั้นสมบูรณ์แบบหากคุณมีผู้ใช้ทั่วโลก และต้องการจัดเก็บข้อมูลไว้ใกล้กับพวกเขา ตัวอย่างเช่น คุณสามารถสร้างที่เก็บข้อมูลในสหรัฐอเมริกา ยุโรป และเอเชียเพื่อจัดเก็บข้อมูลสำหรับผู้ใช้ในภูมิภาคเหล่านั้นเพื่อลดเวลาแฝง
กรณีการใช้งานที่สองจะมีประโยชน์หากคุณมีข้อมูลที่มีรูปแบบการเข้าถึงที่แตกต่างกัน ตัวอย่างเช่น คุณสามารถตั้งค่าบัคเก็ตแบบหลายภูมิภาคหรือหลายภูมิภาคที่เก็บรูปภาพหรือเนื้อหาที่เข้าถึงบ่อยอื่นๆ และบัคเก็ตแบบ Nearline หรือ Coldline ที่เก็บข้อมูลสำรองของผู้ใช้หรือเนื้อหาอื่นๆ ที่เข้าถึงไม่บ่อย
ในกรณีการใช้งานเหล่านี้ คุณจะต้องการ ใช้ที่เก็บข้อมูล Cloud Storage หลายที่
กรณีการใช้งานที่สามจะมีประโยชน์หากคุณกำลังสร้างแอป เช่น Google ไดรฟ์ ซึ่งทำให้ผู้ใช้มีหลายบัญชีที่เข้าสู่ระบบ (เช่น บัญชีส่วนตัวและบัญชีงาน) คุณสามารถ ใช้อินสแตนซ์แอป Firebase ที่กำหนดเอง เพื่อตรวจสอบสิทธิ์แต่ละบัญชีเพิ่มเติมได้
ใช้ที่เก็บข้อมูลบนคลาวด์หลายที่
หากคุณต้องการใช้ที่เก็บข้อมูล Cloud Storage อื่นนอกเหนือจากค่าเริ่มต้นที่ให้ไว้ด้านบน หรือใช้ที่เก็บข้อมูล Cloud Storage หลายที่ในแอปเดียว คุณสามารถสร้างอินสแตนซ์ของ firebase.storage
ที่อ้างอิงที่เก็บข้อมูลที่คุณกำหนดเองได้:
Web version 9
import { getApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // Get a non-default Storage bucket const firebaseApp = getApp(); const storage = getStorage(firebaseApp, "gs://my-custom-bucket");
Web version 8
// Get a non-default Storage bucket var storage = firebase.app().storage("gs://my-custom-bucket");
ทำงานกับบัคเก็ตที่นำเข้า
เมื่อนำเข้าที่เก็บข้อมูล Cloud Storage ที่มีอยู่ไปยัง Firebase คุณจะต้องให้สิทธิ์ Firebase ในการเข้าถึงไฟล์เหล่านี้โดยใช้เครื่องมือ gsutil
ซึ่งรวมอยู่ใน Google Cloud SDK :
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
คุณสามารถค้นหาหมายเลขโปรเจ็กต์ของคุณตามที่อธิบายไว้ใน บทนำเกี่ยวกับโปรเจ็กต์ Firebase
การดำเนินการนี้ไม่มีผลกับบัคเก็ตที่สร้างขึ้นใหม่ เนื่องจากมีการตั้งค่าการควบคุมการเข้าถึงเริ่มต้นที่อนุญาต Firebase นี่เป็นมาตรการชั่วคราวและจะดำเนินการโดยอัตโนมัติในอนาคต
ใช้แอป Firebase ที่กำหนดเอง
หากคุณกำลังสร้างแอปที่ซับซ้อนขึ้นโดยใช้ firebase.app.App
ที่กำหนดเอง คุณสามารถสร้างอินสแตนซ์ของ firebase.storage.Storage
ที่เริ่มต้นด้วยแอปนั้น:
Web version 9
import { getStorage } from "firebase/storage"; // Get the default bucket from a custom firebase.app.App const storage1 = getStorage(customApp); // Get a non-default bucket from a custom firebase.app.App const storage2 = getStorage(customApp, "gs://my-custom-bucket");
Web version 8
// Get the default bucket from a custom firebase.app.App var storage = customApp.storage(); // Get a non-default bucket from a custom firebase.app.App var storage = customApp.storage("gs://my-custom-bucket");
ขั้นตอนถัดไป
เตรียมเปิดตัวแอปของคุณ:
เปิดใช้ การตรวจสอบแอป เพื่อช่วยให้แน่ใจว่าเฉพาะแอปของคุณเท่านั้นที่สามารถเข้าถึงที่เก็บข้อมูลของคุณได้
ตั้งค่า การแจ้งเตือนงบประมาณ สำหรับโครงการของคุณใน Google Cloud Console
ตรวจสอบ แดชบอร์ด การใช้งานและการเรียกเก็บเงิน ในคอนโซล Firebase เพื่อดูภาพรวมของการใช้งานโครงการของคุณในบริการต่างๆ ของ Firebase คุณยังสามารถเยี่ยมชม แดชบอร์ด การใช้งาน ที่เก็บข้อมูลบนคลาวด์ เพื่อดูข้อมูลการใช้งานโดยละเอียดเพิ่มเติม
ตรวจสอบ รายการตรวจสอบการเปิดใช้ Firebase