เริ่มต้นใช้งาน Cloud Storage บนเว็บ

Cloud Storage for Firebase ให้คุณอัปโหลดและแชร์เนื้อหาที่ผู้ใช้สร้างขึ้น เช่น รูปภาพและวิดีโอ ซึ่งช่วยให้คุณสร้างเนื้อหาสื่อสมบูรณ์ในแอปของคุณได้ ข้อมูลของคุณจัดเก็บไว้ในที่เก็บข้อมูล Google Cloud Storage ซึ่งเป็นโซลูชันพื้นที่จัดเก็บอ็อบเจ็กต์ขนาดเอกซะไบต์ที่มีความพร้อมใช้งานสูงและสำรองทั่วโลก Cloud Storage for Firebase ช่วยให้คุณอัปโหลดไฟล์เหล่านี้ได้อย่างปลอดภัยโดยตรงจากอุปกรณ์เคลื่อนที่และเว็บเบราว์เซอร์ จัดการเครือข่ายขาดๆ หายๆ ได้อย่างง่ายดาย

ข้อกำหนดเบื้องต้น

หากคุณยังไม่ได้ ติดตั้ง ให้ติดตั้ง Firebase JS SDK และเริ่มต้น Firebase

สร้างที่เก็บข้อมูล Cloud Storage เริ่มต้น

  1. จากบานหน้าต่างการนำทางของ คอนโซล Firebase เลือก ที่เก็บข้อมูล จากนั้นคลิก เริ่มต้น

  2. ตรวจสอบข้อความเกี่ยวกับการรักษาความปลอดภัยข้อมูล Cloud Storage ของคุณโดยใช้กฎความปลอดภัย ในระหว่างการพัฒนา ให้พิจารณา ตั้งกฎสำหรับการเข้าถึงแบบสาธารณะ

  3. เลือก ตำแหน่ง สำหรับที่ฝากข้อมูล Cloud Storage เริ่มต้นของคุณ

    • การตั้งค่าตำแหน่งนี้เป็น ตำแหน่งทรัพยากรเริ่มต้นของ Google Cloud Platform (GCP) ในโครงการของคุณ โปรดทราบว่าตำแหน่งนี้จะใช้สำหรับบริการ GCP ในโครงการของคุณที่ต้องการการตั้งค่าตำแหน่ง โดยเฉพาะฐานข้อมูล Cloud Firestore และแอป App Engine ของคุณ (ซึ่งจำเป็นหากคุณใช้ Cloud Scheduler)

    • หากคุณไม่สามารถเลือกตำแหน่งได้ แสดงว่าโครงการของคุณมีตำแหน่งทรัพยากร GCP เริ่มต้นอยู่แล้ว มีการตั้งค่าระหว่างการสร้างโครงการหรือเมื่อตั้งค่าบริการอื่นที่ต้องมีการตั้งค่าตำแหน่ง

    หากคุณใช้แผน Blaze คุณสามารถ สร้างที่เก็บข้อมูลได้หลายที่ โดยแต่ละที่จะมี ที่ตั้ง ของตัวเอง

  4. คลิก เสร็จสิ้น

ตั้งค่าการเข้าถึงแบบสาธารณะ

Cloud Storage for Firebase มีภาษาของกฎการประกาศที่ช่วยให้คุณกำหนดได้ว่าข้อมูลของคุณควรมีโครงสร้างอย่างไร ควรทำดัชนีอย่างไร และเมื่อใดที่สามารถอ่านและเขียนข้อมูลของคุณได้ ตามค่าเริ่มต้น การเข้าถึงเพื่ออ่านและเขียนไปยัง Cloud Storage จะถูกจำกัด ดังนั้นเฉพาะผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์เท่านั้นที่สามารถอ่านหรือเขียนข้อมูลได้ ในการเริ่มต้นโดยไม่ต้องตั้งค่า การรับรองความถูกต้อง คุณสามารถ กำหนดค่ากฎของคุณสำหรับการเข้าถึงแบบสาธารณะ

ซึ่งจะทำให้ Cloud Storage เปิดสำหรับทุกคน แม้แต่คนที่ไม่ได้ใช้แอปของคุณ ดังนั้นอย่าลืมจำกัด Cloud Storage ของคุณอีกครั้งเมื่อคุณตั้งค่าการตรวจสอบสิทธิ์

เพิ่ม URL ที่ฝากข้อมูลของคุณไปยังแอปของคุณ

หากยังไม่ได้รวมไว้ คุณต้องเพิ่ม URL ที่เก็บข้อมูล Cloud Storage ลงใน ออบเจ็กต์การกำหนดค่าของแอป Firebase

  1. ไปที่แดชบอร์ดที่เก็บข้อมูลของคุณใน คอนโซล Firebase

  2. คลิกแท็บ ไฟล์ จากนั้นดูที่ส่วนหัวของโปรแกรมดูไฟล์

  3. คัดลอก URL ไปยังคลิปบอร์ดของคุณ ปกติจะอยู่ในรูปแบบ project-id .appspot.com

  4. หากต้องการใช้ออบเจ็กต์ firebaseConfig ในแอป ให้เพิ่มแอตทริบิวต์ storageBucket ด้วย URL ที่ฝากข้อมูลของคุณ:

เว็บโมดูลาร์ API

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);

API เนมสเปซของเว็บ

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

การตั้งค่าขั้นสูง

มีกรณีการใช้งานบางอย่างที่ต้องตั้งค่าเพิ่มเติม:

กรณีการใช้งานแรกนั้นสมบูรณ์แบบหากคุณมีผู้ใช้ทั่วโลก และต้องการจัดเก็บข้อมูลไว้ใกล้กับพวกเขา ตัวอย่างเช่น คุณสามารถสร้างที่เก็บข้อมูลในสหรัฐอเมริกา ยุโรป และเอเชียเพื่อจัดเก็บข้อมูลสำหรับผู้ใช้ในภูมิภาคเหล่านั้นเพื่อลดเวลาแฝง

กรณีการใช้งานที่สองจะมีประโยชน์หากคุณมีข้อมูลที่มีรูปแบบการเข้าถึงที่แตกต่างกัน ตัวอย่างเช่น คุณสามารถตั้งค่าบัคเก็ตแบบหลายภูมิภาคหรือหลายภูมิภาคที่เก็บรูปภาพหรือเนื้อหาที่เข้าถึงบ่อยอื่นๆ และบัคเก็ตแบบ Nearline หรือ Coldline ที่เก็บข้อมูลสำรองของผู้ใช้หรือเนื้อหาอื่นๆ ที่เข้าถึงไม่บ่อย

ในกรณีการใช้งานเหล่านี้ คุณจะต้องการ ใช้ที่เก็บข้อมูล Cloud Storage หลายที่

กรณีการใช้งานที่สามจะมีประโยชน์หากคุณกำลังสร้างแอป เช่น Google ไดรฟ์ ซึ่งทำให้ผู้ใช้มีหลายบัญชีที่เข้าสู่ระบบ (เช่น บัญชีส่วนตัวและบัญชีงาน) คุณสามารถ ใช้อินสแตนซ์แอป Firebase ที่กำหนดเอง เพื่อตรวจสอบสิทธิ์แต่ละบัญชีเพิ่มเติมได้

ใช้ที่เก็บข้อมูลบนคลาวด์หลายที่

หากคุณต้องการใช้ที่เก็บข้อมูล Cloud Storage อื่นนอกเหนือจากค่าเริ่มต้นที่ให้ไว้ด้านบน หรือใช้ที่เก็บข้อมูล Cloud Storage หลายที่ในแอปเดียว คุณสามารถสร้างอินสแตนซ์ของ firebase.storage ที่อ้างอิงที่เก็บข้อมูลที่คุณกำหนดเองได้:

Web modular API

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 namespaced API

// 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 modular API

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 namespaced API

// 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");

ขั้นตอนถัดไป