Cloud Storage cho 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, cho phép bạn xây dựng nội dung đa phương tiện vào ứng dụng của mình. Dữ liệu của bạn được lưu trữ trong nhóm Google Cloud Storage - một giải pháp lưu trữ đối tượng quy mô exabyte với tính khả dụng cao và khả năng dự phòng toàn cầu. Cloud Storage dành cho Firebase cho phép bạn tải lên một cách an toàn các tệp này trực tiếp từ thiết bị di động và trình duyệt web, xử lý các mạng thiếu sót một cách dễ dàng.
Điều kiện tiên quyết
Cài đặt và khởi chạy SDK Firebase cho Flutter nếu bạn chưa làm như vậy.
Tạo nhóm lưu trữ đám mây mặc định
Từ ngăn điều hướng của bảng điều khiển Firebase , chọn Bộ nhớ , sau đó nhấp vào Bắt đầu .
Xem lại thông báo về cách bảo mật dữ liệu Bộ nhớ đám mây của bạn bằng các quy tắc bảo mật. Trong quá trình phát triển, hãy cân nhắc thiết lập các quy tắc của bạn để truy cập công khai .
Chọn vị trí cho nhóm Bộ nhớ đám mây mặc định của bạn.
Cài đặt vị trí này là vị trí tài nguyên Google Cloud Platform (GCP) mặc định cho dự án của bạn. Lưu ý rằng vị trí này sẽ được sử dụng cho các dịch vụ GCP trong dự án của bạn yêu cầu cài đặt vị trí, cụ thể là cơ sở dữ liệu Cloud Firestore và ứng dụng App Engine của bạn (bắt buộc nếu bạn sử dụng Cloud Scheduler).
Nếu bạn không thể chọn một vị trí, thì dự án của bạn đã có một vị trí tài nguyên GCP mặc định. Nó được thiết lập trong quá trình tạo dự án hoặc khi thiết lập một dịch vụ khác yêu cầu thiết lập vị trí.
Nếu đang sử dụng gói Blaze, bạn có thể tạo nhiều nhóm , mỗi nhóm có vị trí riêng.
Nhấp vào Xong .
Thiết lập quyền truy cập công khai
Cloud Storage cho Firebase cung cấp ngôn ngữ quy tắc khai báo cho phép bạn xác định cách dữ liệu của bạn nên được cấu trúc, cách lập chỉ mục dữ liệu và thời điểm dữ liệu của bạn có thể được đọc và ghi vào. Theo mặc định, quyền truy cập đọc và ghi vào Cloud Storage bị hạn chế nên 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 Xác thực Firebase , bạn có thể định cấu hình các quy tắc của mình để truy cập công khai .
Điều này làm cho Cloud Storage có thể 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 đảm bảo hạn chế Cloud Storage của bạn một lần nữa khi bạn thiết lập xác thực.
Thêm SDK lưu trữ đám mây vào ứng dụng của bạn
Từ thư mục gốc của dự án Flutter của bạn, hãy chạy lệnh sau để cài đặt plugin:
flutter pub add firebase_storage
Sau khi hoàn tất, hãy xây dựng lại ứng dụng Flutter của bạn:
flutter run
Nhập plugin vào mã Dart của bạn:
import 'package:firebase_storage/firebase_storage.dart';
Thiết lập bộ nhớ đám mây
Bước đầu tiên để truy cập nhóm Cloud Storage của bạn là tạo một phiên bản của FirebaseStorage
:
final storage = FirebaseStorage.instance;
Bạn đã sẵn sàng để bắt đầu sử dụng Cloud Storage!
Trước tiên, hãy 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:
- Sử dụng nhóm Bộ nhớ đám mây ở nhiều vùng địa lý
- Sử dụng nhóm Lưu trữ đám mây trong các lớp lưu trữ khác nhau
- Sử dụng nhóm Bộ nhớ đám mây với nhiều người dùng đã xác thực trong cùng một ứng dụng
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 nhóm ở 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 rất hữu ích nếu bạn có dữ liệu với các kiểu truy cập khác nhau. Ví dụ: bạn có thể thiết lập một nhóm đa vùng hoặc khu vực để lưu trữ hình ảnh hoặc nội dung được truy cập thường xuyên khác và một nhóm gần hoặc dòng lạnh lưu trữ các bản sao lưu của người dùng hoặc nội dung được truy cập không thường xuyên khác.
Trong một trong hai trường hợp sử dụng này, bạn sẽ muốn sử dụng nhiều nhóm Bộ nhớ đám mây .
Trường hợp sử dụng thứ ba rất 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 phiên bản Ứng dụng Firebase tùy chỉnh để xác thực từng tài khoản bổ sung.
Sử dụng nhiều nhóm Bộ nhớ đám mây
Nếu bạn muốn sử dụng nhóm Bộ nhớ đám mây khác với nhóm mặc định được cung cấp ở trên hoặc sử dụng nhiều nhóm Bộ nhớ đám mây trong một ứng dụng, bạn có thể tạo một phiên bản của FirebaseStorage
tham chiếu nhóm tùy chỉnh của bạn:
// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "gs://my-custom-bucket");
Làm việc với các nhóm đã nhập
Khi nhập nhóm Bộ nhớ đám mây hiện có vào Firebase, bạn sẽ phải cấp cho Firebase khả năng truy cập các tệp này bằng công cụ gsutil
, có trong Google Cloud SDK :
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://YOUR-CLOUD-STORAGE-BUCKET
Bạn có thể tìm thấy số dự án của mình như được mô tả trong phần giới thiệu về các dự án Firebase .
Điều này không ảnh hưởng đến các nhóm mới được tạo, vì chúng có bộ kiểm soát 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 tùy chỉnh
Nếu bạn đang xây dựng một ứng dụng phức tạp hơn bằng cách sử dụng FirebaseApp
tùy chỉnh, bạn có thể tạo một phiên bản FirebaseStorage
được khởi tạo bằng ứng dụng đó:
// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);
Bước tiếp theo
- Chuẩn bị khởi chạy ứng dụng của bạn:
- Bật Kiểm tra ứng dụng để giúp đảm bảo rằng chỉ ứng dụng của bạn mới có thể truy cập vào bộ lưu trữ của bạn.
- Thiết lập thông báo ngân sách cho dự án của bạn trong Google Cloud Console.
- Theo dõi Bảng điều khiển sử dụng và thanh toán trong bảng điều khiển Firebase để có được bức tranh tổng thể về việc sử dụng dự án của bạn trên nhiều dịch vụ Firebase. Bạn cũng có thể truy cập trang tổng quan Sử dụng bộ nhớ trên đám mây để biết thêm thông tin chi tiết về việc sử dụng.
- Xem lại danh sách kiểm tra khởi chạy Firebase .