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

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

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

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

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

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

เพิ่ม URL ของที่เก็บข้อมูลลงในแอป

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

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

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

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

  4. เพิ่ม 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 ข้อมูลอ้างอิง

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

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

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

กรณีการใช้งานที่ 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");

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