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

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

ก่อนเริ่มต้น

  1. หากยังไม่ได้ดำเนินการ โปรดตรวจสอบว่าคุณได้ทำตามคู่มือการเริ่มต้นใช้งานสำหรับเว็บแอปแล้ว ซึ่งรวมถึงเนื้อหาต่อไปนี้

    • การสร้างโปรเจ็กต์ Firebase

    • ลงทะเบียนเว็บแอปกับโปรเจ็กต์ และเชื่อมต่อแอปกับ Firebase โดยการเพิ่ม Firebase JS SDK และ ออบเจ็กต์การกำหนดค่า Firebase ลงในแอป

  2. ตรวจสอบว่าโปรเจ็กต์ Firebase ของคุณใช้แพ็กเกจราคา Blaze แบบจ่ายเมื่อใช้ หากเพิ่งเริ่มใช้ Firebase และ Google Cloud โปรดตรวจสอบว่าคุณมีสิทธิ์รับเครดิต$300 หรือไม่

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

  1. เลือกพื้นที่เก็บข้อมูลจากแผงการนำทางของคอนโซล Firebase

    หากโปรเจ็กต์ยังไม่ได้ใช้แพ็กเกจราคา Blaze แบบจ่ายตามการใช้งาน ระบบจะแจ้งให้คุณอัปเกรดโปรเจ็กต์

  2. คลิกเริ่มต้นใช้งาน

  3. เลือกตำแหน่งสำหรับที่เก็บข้อมูลเริ่มต้น

  4. กำหนดค่า Firebase Security Rules สำหรับที่เก็บข้อมูลเริ่มต้น ในระหว่างการพัฒนา ให้พิจารณาตั้งค่ากฎสำหรับการเข้าถึงแบบสาธารณะ

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

ตอนนี้คุณดูที่เก็บข้อมูลได้ในแท็บCloud Storage ไฟล์ของคอนโซล Firebase รูปแบบชื่อที่เก็บข้อมูลเริ่มต้นคือ PROJECT_ID.firebasestorage.app

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

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

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

เพิ่ม Cloud Storage JS SDK และเริ่มต้นใช้งาน Cloud Storage

คุณต้องระบุCloud Storageชื่อที่เก็บข้อมูลเมื่อเริ่มต้นใช้งาน JavaScript SDK

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

  • PROJECT_ID.firebasestorage.app (ถังเริ่มต้นที่สร้างตั้งแต่วันที่ 30 ตุลาคม 2024)
  • PROJECT_ID.appspot.com (ที่สร้างขึ้นก่อน 30 ตุลาคม 2024)

เริ่มต้น SDK โดยใช้ข้อมูลโค้ดต่อไปนี้

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: 'BUCKET_NAME'
};

// 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: 'BUCKET_NAME'
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Initialize Cloud Storage and get a reference to the service
const storage = firebase.storage();

คุณพร้อมที่จะเริ่มใช้ Cloud Storage แล้ว

ขั้นตอนถัดไป ดูวิธี สร้างCloud Storageข้อมูลอ้างอิง

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

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

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

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

ในกรณีการใช้งานทั้ง 2 แบบนี้ คุณจะต้องใช้ที่เก็บข้อมูล 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 ซึ่งรวมอยู่ใน Google Cloud SDK

gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME

คุณดูหมายเลขโปรเจ็กต์ได้ตามที่อธิบายไว้ในข้อมูลเบื้องต้นเกี่ยวกับโปรเจ็กต์ 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");

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