Bắt đầu sử dụng Bộ nhớ trên đám mây trên web

Cloud Storage for Firebase cho phép bạn tải lên và chia sẻ nội dung do người dùng tạo, chẳng hạn như hình ảnh và video. Nhờ đó, bạn có thể tạo nội dung đa phương tiện phong phú trong ứng dụng. Dữ liệu của bạn được lưu trữ trong một Google Cloud Storage vùng chứa – một giải pháp lưu trữ đối tượng ở quy mô exabyte với khả năng dự phòng toàn cầu và tính sẵn có cao. Cloud Storage for Firebase cho phép bạn tải các tệp này lên một cách an toàn trực tiếp từ thiết bị di động và trình duyệt web, dễ dàng xử lý các mạng không ổn định với.

Trước khi bắt đầu

  1. Nếu chưa, hãy đảm bảo bạn đã hoàn tất hướng dẫn bắt đầu sử dụng cho ứng dụng web. Chẳng hạn như:

    • Tạo một dự án Firebase.

    • Đăng ký ứng dụng web của bạn với dự án và kết nối ứng dụng với Firebase bằng cách thêm SDK Firebase JS và đối tượng cấu hình Firebase vào ứng dụng.

  2. Đảm bảo dự án Firebase của bạn sử dụng gói giá Blaze (trả tiền theo mức dùng). Đây là một yêu cầu bắt đầu từ tháng 10 năm 2024 (xem Câu hỏi thường gặp của chúng tôi). Nếu bạn mới sử dụng Firebase và Google Cloud, hãy kiểm tra xem bạn có đủ điều kiện nhận khoản tín dụng trị giá 300 USD hay không.

Tạo vùng chứa mặc địnhCloud Storage

  1. Trên ngăn điều hướng của bảng điều khiển Firebase console, hãy chọn Bộ nhớ.

    Nếu dự án của bạn chưa sử dụng gói giá Blaze (trả tiền theo mức dùng), thì bạn sẽ được nhắc nâng cấp dự án.

  2. Nhấp vào Bắt đầu.

  3. Chọn vị trí cho vùng chứa mặc định.

  4. Định cấu hình Firebase Security Rules cho vùng chứa mặc định. Trong quá trình phát triển, hãy cân nhắc việc thiết lập các quy tắc cho quyền truy cập công khai.

  5. Nhấp vào Xong.

Giờ đây, bạn có thể xem vùng chứa trong thẻ Cloud Storage Tệp của bảng điều khiển.Firebase Định dạng tên vùng chứa mặc định là PROJECT_ID.firebasestorage.app.

Thiết lập quyền truy cập công khai

Cloud Storage for Firebase cung cấp một ngôn ngữ quy tắc khai báo cho phép bạn xác định cách cấu trúc dữ liệu, cách lập chỉ mục dữ liệu và thời điểm có thể đọc và ghi dữ liệu. Theo mặc định, quyền truy cập đọc và ghi vào Cloud Storage bị hạn chế để chỉ những người dùng đã xác thực mới có thể đọc hoặc ghi dữ liệu. Để bắt đầu mà không cần thiết lập Authentication, bạn có thể định cấu hình các quy tắc cho quyền truy cập công khai.

Điều này khiến Cloud Storage mở cho bất kỳ ai, ngay cả những người không sử dụng ứng dụng của bạn. Vì vậy, hãy nhớ hạn chế lại Cloud Storage khi bạn thiết lập tính năng xác thực.

Thêm SDK Cloud Storage JS và khởi động Cloud Storage

Bạn phải chỉ định tên vùng chứa Cloud Storage khi khởi động SDK JavaScript.

Bạn có thể tìm thấy tên vùng chứa Cloud Storage trong thẻ Cloud Storage Tệpcủa bảng điều khiển Firebase. Tuỳ thuộc vào thời điểm bạn tạo vùng chứa mặc định, tên vùng chứa sẽ có một trong các định dạng sau:

  • PROJECT_ID.firebasestorage.app (vùng chứa mặc định được tạo vào hoặc sau ngày 30 tháng 10 năm 2024)
  • PROJECT_ID.appspot.com (vùng chứa mặc định được tạo trước ngày 30 tháng 10 năm 2024)

Khởi động SDK bằng đoạn mã sau:

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

Bạn đã sẵn sàng bắt đầu sử dụng Cloud Storage!

Bước tiếp theo? Tìm hiểu cách tạo tham chiếu Cloud Storage.

Thiết lập nâng cao

Có một số trường hợp sử dụng yêu cầu thiết lập bổ sung:

Trường hợp sử dụng đầu tiên là hoàn hảo nếu bạn có người dùng trên khắp thế giới và muốn lưu trữ dữ liệu của họ ở gần họ. Ví dụ: bạn có thể tạo vùng chứa ở Hoa Kỳ, Châu Âu và Châu Á để lưu trữ dữ liệu cho người dùng ở các khu vực đó nhằm giảm độ trễ.

Trường hợp sử dụng thứ hai sẽ hữu ích nếu bạn có dữ liệu với các mẫu truy cập khác nhau. Ví dụ: bạn có thể thiết lập một vùng chứa nhiều khu vực hoặc vùng chứa khu vực lưu trữ hình ảnh hoặc nội dung thường xuyên được truy cập khác và một vùng chứa gần tuyến hoặc vùng chứa tuyến lạnh lưu trữ bản sao lưu của người dùng hoặc nội dung khác ít được truy cập.

Trong một trong các trường hợp sử dụng này, bạn sẽ muốn sử dụng nhiều Cloud Storage vùng chứa.

Trường hợp sử dụng thứ ba sẽ hữu ích nếu bạn đang xây dựng một ứng dụng, chẳng hạn như Google Drive, cho phép người dùng có nhiều tài khoản đã đăng nhập (ví dụ: tài khoản cá nhân và tài khoản công việc). Bạn có thể sử dụng một thực thể Ứng dụng Firebase tuỳ chỉnh để xác thực từng tài khoản bổ sung.

Sử dụng nhiều vùng chứa Cloud Storage

Nếu bạn muốn sử dụng một Cloud Storage vùng chứa khác với vùng chứa mặc định được mô tả trước đó trong hướng dẫn này hoặc sử dụng nhiều vùng chứa Cloud Storage trong một ứng dụng, bạn có thể tạo một thực thể firebase.storage tham chiếu đến vùng chứa tuỳ chỉnh:

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

Thao tác với các vùng chứa đã nhập

Khi nhập một bộ chứa Cloud Storage hiện có vào Firebase, bạn sẽ phải cấp cho Firebase quyền truy cập vào các tệp này bằng công cụ gsutil được đưa vào Google Cloud SDK:

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

Bạn có thể tìm thấy số dự án như mô tả trong phần giới thiệu về dự án Firebase.

Điều này không ảnh hưởng đến các vùng chứa mới tạo, vì các vùng chứa đó có quyền kiểm soát quyền truy cập mặc định được đặt để cho phép Firebase. Đây là biện pháp tạm thời và sẽ được thực hiện tự động trong tương lai.

Sử dụng Ứng dụng Firebase tuỳ chỉnh

Nếu đang xây dựng một ứng dụng phức tạp hơn bằng cách sử dụng firebase.app.App tuỳ chỉnh, bạn có thể tạo một thực thể firebase.storage.Storage được khởi động bằng ứng dụng đó:

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

Các bước tiếp theo