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), 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 bộ chứa – một giải pháp lưu trữ đối tượng ở quy mô exabyte với khả năng hoạt động cao và tính dư thừa trên toàn cầu. Cloud Storage cho Firebase cho phép bạn tải các tệp này lên một cách an toàn ngay 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.
Trước khi bắt đầu
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 các ứng dụng Flutter. Chẳng hạn như:
Tạo một dự án Firebase.
Cài đặt và khởi chạy SDK Firebase cho Flutter.
Đảm bảo dự án Firebase của bạn sử dụng gói giá Blaze, đây là một yêu cầu bắt đầu từ tháng 10 năm 2024 (xem phần Câu hỏi thường gặp). 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 bộ chứa Cloud Storage mặc định
Trong bảng điều khiển của Firebase, hãy chuyển đến Databases & Storage > Storage.
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.
Nhấp vào Bắt đầu.
Chọn một vị trí cho bộ chứa mặc định.
Các bộ chứa trong
,US-CENTRAL1 vàUS-EAST1 có thể tận dụng gói "Luôn miễn phí" cho Google Cloud Storage. Các bộ chứa ở tất cả các vị trí khác tuân theo Google Cloud Storage giá và mức sử dụng.US-WEST1Nếu muốn, sau này bạn có thể tạo nhiều bộ chứa, mỗi bộ chứa có một vị trí riêng.
Định cấu hình Firebase Security Rules cho bộ chứa mặc định. Trong quá trình phát triển, hãy cân nhắc thiết lập các quy tắc để truy cập công khai.
Nhấp vào Xong.
Giờ đây, bạn có thể xem bộ chứa trong bảng điều khiển Firebase (chuyển đến thẻ
Databases & Storage > Storage >
Files).
Định dạng tên bộ chứa mặc định là PROJECT_ID.firebasestorage.app
Thiết lập quyền truy cập công khai
Cloud Storage cho 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 Xác thực Firebase, bạn có thể định cấu hình các quy tắc để 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 vào ứng dụng của bạn
Từ thư mục gốc của dự án Flutter, hãy chạy lệnh sau để cài đặt trình bổ trợ:
flutter pub add firebase_storageSau khi hoàn tất, hãy xây dựng lại ứng dụng Flutter:
flutter runNhập trình bổ trợ vào mã Dart:
import 'package:firebase_storage/firebase_storage.dart';
Thiết lập Cloud Storage
Chạy
flutterfire configuretừ thư mục dự án Flutter. Lệnh này sẽ cập101}nhật tệp cấu hình Firebase (firebase_options.dart) trong cơ sở mã của ứng dụng để tệp này có tên của bộ chứa mặc định Cloud Storage.Truy cập vào bộ chứa Cloud Storage bằng cách tạo một thực thể của
FirebaseStorage:final storage = FirebaseStorage.instance; // Alternatively, explicitly specify the bucket name URL. // final storage = FirebaseStorage.instanceFor(bucket: "gs://<var>BUCKET_NAME</var>");
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:
- Sử dụng bộ chứa Cloud Storage ở nhiều khu vực địa lý
- Sử dụng bộ chứa Cloud Storage ở các lớp bộ nhớ khác nhau
- Sử dụng bộ chứa Cloud Storage 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 bộ chứa ở Hoa Kỳ, Châu Âu và Châu Á để lưu trữ dữ liệu cho người dùng ở những 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 bộ chứa đa khu vực hoặc theo 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 bộ chứa gần trực tuyến hoặc ngoại tuyến lưu trữ bản sao lưu của người dùng hoặc nội dung ít được truy cập khác.
Trong một trong những trường hợp sử dụng này, bạn sẽ muốn sử dụng nhiều bộ chứa Cloud Storage.
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ể Firebase App tuỳ chỉnh để xác thực từng tài khoản bổ sung.
Sử dụng nhiều bộ chứa Cloud Storage
Nếu muốn sử dụng một bộ chứa Cloud Storage khác với bộ chứa mặc định được cung cấp ở trên hoặc sử dụng nhiều bộ chứa Cloud Storage trong một ứng dụng, bạn có thể tạo một thực thể của FirebaseStorage tham chiếu đến bộ chứa tuỳ chỉnh:
// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "gs://my-custom-bucket");
Thao tác với các bộ 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://YOUR-CLOUD-STORAGE-BUCKET
Bạn có thể tìm thấy số dự án như 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 bộ chứa mới tạo, vì các bộ 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à một biện pháp tạm thời và sẽ được thực hiện tự động trong tương lai.
Sử dụng Firebase App 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 FirebaseApp tuỳ chỉnh, bạn có thể tạo một thực thể của FirebaseStorage được khởi chạy bằng ứng dụng đó:
// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);
Các bước tiếp theo
- Chuẩn bị ra mắt ứng dụng:
- Bật tính năng 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ộ chứa.
- Thiết lập cảnh báo ngân sách cho dự án của bạn trong Bảng điều khiển Google Cloud.
- Theo dõi trang tổng quan Mức sử dụng và thanh toán trong bảng điều khiển của Firebase để nắm được bức tranh tổng thể về mức sử dụng của dự án trên nhiều dịch vụ Firebase. Bạn cũng có thể truy cập vào trang tổng quan Cloud Storage Mức sử dụng để biết thông tin chi tiết hơn về mức sử dụng.
- Xem lại danh sách kiểm tra ra mắt Firebase.