Cloud Storage for Firebase ช่วยให้คุณสามารถอัปโหลดและแชร์เนื้อหาที่ผู้ใช้สร้างขึ้น เช่น เป็นรูปภาพและวิดีโอ ซึ่งจะช่วยให้คุณสามารถสร้างเนื้อหาสื่อสมบูรณ์ลงใน แอป ข้อมูลของคุณจะเก็บไว้ใน ที่เก็บข้อมูล Google Cloud Storage — โซลูชันพื้นที่เก็บข้อมูลออบเจ็กต์ขนาด Exabytes ที่มีความพร้อมใช้งานสูงและใช้ได้ทั่วโลก การทำซ้ำ 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 คุณจะทำสิ่งต่อไปนี้ได้ สร้างที่เก็บข้อมูลหลายรายการ โดยแต่ละที่เก็บข้อมูลมีของตัวเอง location
คลิกเสร็จสิ้น
ตั้งค่าการเข้าถึงแบบสาธารณะ
Cloud Storage for Firebase มีภาษาของกฎการประกาศที่อนุญาตให้คุณ เพื่อกําหนดโครงสร้างข้อมูล ควรจัดทำดัชนี วิธีใด และเมื่อใด สามารถอ่านและเขียนข้อมูลถึงได้ โดยค่าเริ่มต้น สิทธิ์การอ่านและการเขียน Cloud Storage ถูกจำกัดเพื่อให้เฉพาะผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เท่านั้นที่อ่านหรือเขียนได้ หากต้องการเริ่มต้นใช้งานโดยไม่ตั้งค่า Authentication ให้ทำดังนี้ กำหนดค่ากฎสำหรับการเข้าถึงแบบสาธารณะ
การดำเนินการนี้จะทำให้ Cloud Storage เปิดกว้างสำหรับทุกคน แม้แต่คนที่ไม่ได้ใช้ ดังนั้นอย่าลืมจำกัด Cloud Storage อีกครั้งเมื่อตั้งค่า การตรวจสอบสิทธิ์
เพิ่ม URL ของที่เก็บข้อมูลลงในแอป
หากยังไม่ได้เพิ่ม URL ของที่เก็บข้อมูล คุณจะต้องเพิ่ม URL ของที่เก็บข้อมูล Cloud Storage ลงใน ข้อมูลส่วนตัวของคุณ ออบเจ็กต์การกำหนดค่าของแอป Firebase
ไปที่แดชบอร์ดพื้นที่เก็บข้อมูลในคอนโซล Firebase
คลิกแท็บไฟล์ จากนั้นดูที่ส่วนหัวของโปรแกรมดูไฟล์
คัดลอก URL ไปยังคลิปบอร์ด โดยปกติจะอยู่ในรูปแบบ
project-id.appspot.com
เพิ่ม
storageBucket
ลงในออบเจ็กต์firebaseConfig
ในแอป ด้วย URL ที่เก็บข้อมูล
Web
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
import firebase from "firebase/app"; import "firebase/compat/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 กับผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์หลายคนในแอปเดียวกัน
กรณีการใช้งานแรกเหมาะอย่างยิ่งหากคุณมีผู้ใช้อยู่ทั่วโลก และต้องการใช้ เก็บข้อมูลไว้ใกล้ตัว เช่น คุณสามารถสร้างที่เก็บข้อมูลในสหรัฐอเมริกา ยุโรปและเอเชียให้จัดเก็บข้อมูลสำหรับผู้ใช้ในภูมิภาคเหล่านั้นเพื่อลดเวลาในการตอบสนอง
กรณีการใช้งานที่ 2 มีประโยชน์หากคุณมีข้อมูลที่มีรูปแบบการเข้าถึงต่างกัน ตัวอย่างเช่น คุณสามารถตั้งค่าที่เก็บข้อมูลแบบหลายภูมิภาคหรือระดับภูมิภาคที่จัดเก็บ ภาพหรือเนื้อหาอื่นๆ ที่เข้าถึงบ่อย และแท็ก Nearline หรือ Coldline ที่จัดเก็บข้อมูลสำรองของผู้ใช้ หรือเนื้อหาอื่นๆ ที่เข้าถึงไม่บ่อย
ในกรณีการใช้งานทั้งสอง คุณควรทำดังนี้ ใช้ที่เก็บข้อมูล Cloud Storage หลายรายการ
กรณีการใช้งานที่ 3 มีประโยชน์ถ้าคุณกำลังสร้างแอป เช่น Google ไดรฟ์ ซึ่ง ช่วยให้ผู้ใช้มีบัญชีที่เข้าสู่ระบบได้หลายบัญชี (เช่น บัญชีส่วนตัว และบัญชีงาน) คุณสามารถใช้แอป Firebase ที่กำหนดเองได้ อินสแตนซ์ในการตรวจสอบสิทธิ์บัญชีเพิ่มเติมแต่ละบัญชี
ใช้ที่เก็บข้อมูล Cloud Storage หลายรายการ
หากคุณต้องการใช้ที่เก็บข้อมูล Cloud Storage อื่นที่ไม่ใช่ที่เก็บข้อมูลเริ่มต้นที่ระบุไว้ด้านบน
หรือใช้ที่เก็บข้อมูล Cloud Storage หลายรายการในแอปเดียว คุณจะสร้างอินสแตนซ์ได้
ของ firebase.storage
ที่อ้างอิงที่เก็บข้อมูลที่กำหนดเอง
Web
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
// Get a non-default Storage bucket var storage = firebase.app().storage("gs://my-custom-bucket");
การทำงานกับที่เก็บข้อมูลที่นำเข้า
เมื่อนำเข้าที่เก็บข้อมูล Cloud Storage ที่มีอยู่ไปยัง Firebase คุณจะทำสิ่งต่อไปนี้ได้
ต้องให้สิทธิ์ Firebase ในการเข้าถึงไฟล์เหล่านี้โดยใช้
เครื่องมือ gsutil
ซึ่งรวมอยู่ใน
SDK ของ Google Cloud
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
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
// 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
ตรวจสอบการใช้งานและการเรียกเก็บเงิน แดชบอร์ด ในคอนโซล Firebase เพื่อดูภาพรวมของโปรเจ็กต์ ในบริการต่างๆ ของ Firebase นอกจากนี้ คุณยังไปที่Cloud Storageแดชบอร์ดการใช้งานเพื่อดูข้อมูลการใช้งานโดยละเอียดได้อีกด้วย