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 นอกเหนือจากค่าเริ่มต้นที่ให้ไว้ข้างต้น หรือใช้ที่เก็บข้อมูล 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");
ขั้นตอนถัดไป
เตรียมเปิดแอปของคุณ:
เปิดใช้งาน App Check เพื่อให้แน่ใจว่ามีเพียงแอปของคุณเท่านั้นที่สามารถเข้าถึงที่เก็บข้อมูลของคุณได้
ตั้งค่า การแจ้งเตือนงบประมาณ สำหรับโครงการของคุณใน Google Cloud Console
ตรวจสอบ แดชบอร์ด การใช้งานและการเรียกเก็บเงิน ในคอนโซล Firebase เพื่อดูภาพรวมการใช้งานโปรเจ็กต์ของคุณในบริการ Firebase ที่หลากหลาย คุณยังสามารถไปที่ แดชบอร์ด การใช้งาน ที่เก็บข้อมูลบนคลาวด์ เพื่อดูข้อมูลการใช้งานโดยละเอียดเพิ่มเติม