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

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

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

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

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

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

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

สร้าง Bucket เริ่มต้นCloud Storage

  1. ในคอนโซลFirebase ให้ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > พื้นที่เก็บข้อมูล

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

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

  3. เลือก ตำแหน่ง ของ Bucket เริ่มต้น

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

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

ตอนนี้คุณสามารถดู Bucket ในคอนโซล Firebase ได้แล้ว (ไปที่แท็บ ฐานข้อมูลและพื้นที่เก็บข้อมูล > พื้นที่เก็บข้อมูล > ไฟล์) รูปแบบชื่อ Bucket เริ่มต้นคือ PROJECT_ID.firebasestorage.app

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

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

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

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

คุณต้องระบุชื่อ Cloud Storage Bucket เมื่อเริ่มต้นใช้งาน JavaScript SDK

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

  • PROJECT_ID.firebasestorage.app (Bucket เริ่มต้นที่สร้าง ตั้งแต่ เดือนกันยายน 2024เป็นต้นไป)
  • PROJECT_ID.appspot.com (Bucket เริ่มต้นเดิมที่สร้าง ก่อน เดือนกันยายน 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

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

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

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

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

ในกรณีการใช้งานเหล่านี้ คุณจะต้องใช้ Bucket หลายรายการCloud Storage

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

ใช้ Bucket หลายรายการCloud Storage

หากต้องการใช้ Bucket อื่นที่ไม่ใช่ Bucket เริ่มต้นที่อธิบายไว้ ก่อนหน้านี้ในคู่มือนี้ หรือใช้ Bucket หลายรายการในแอปเดียว คุณ สามารถสร้างอินสแตนซ์ของ firebase.storage ที่อ้างอิง Bucket ที่กำหนดเองได้โดยทำดังนี้Cloud StorageCloud 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");

การทำงานกับ Bucket ที่นำเข้า

เมื่อนำเข้า 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

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

ใช้ Firebase App ที่กำหนดเอง

หากคุณกำลังสร้างแอปที่ซับซ้อนมากขึ้นโดยใช้ 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");

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