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, cho phép bạn tạo nội dung đa phương tiện đa dạng thức trong ứng dụng. Dữ liệu của bạn được lưu trữ trong bộ chứa Google Cloud Storage – một giải pháp lưu trữ đối tượng có tỷ lệ exabyte với khả năng hoạt động cao và khả năng dự phòng trên toàn hệ thống. 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 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
Để có thể sử dụng Cloud Storage, bạn cần:
Đăng ký dự án C++ và định cấu hình dự án đó để sử dụng Firebase.
Nếu dự án C++ của bạn đã sử dụng Firebase, thì dự án đó đã được đăng ký và định cấu hình cho Firebase.
Thêm SDK C++ Firebase vào dự án C++.
Xin lưu ý rằng việc thêm Firebase vào dự án C++ liên quan đến các tác vụ trong cả bảng điều khiển Firebase và trong dự án C++ đang mở (ví dụ: bạn tải tệp cấu hình Firebase xuống từ bảng điều khiển, sau đó di chuyển các tệp đó vào dự án C++).
Ngoài ra, hãy đảm bảo dự án Firebase của bạn đang sử dụng gói giá linh hoạt Blaze (trả phí theo mức sử dụng). 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 đô la hay không.
Tạo bộ chứa Cloud Storage mặc định
Trong ngăn điều hướng của bảng điều khiển Firebase, hãy chọn Bộ nhớ.
Nếu dự án của bạn chưa sử dụng gói giá linh hoạt Blaze (thanh toán theo mức sử dụng), 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 cấp "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 giá và mức sử dụng của Google Cloud Storage.US-WEST1
Sau này, nếu muốn, 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 quy tắc cho quyền truy cập công khai.
Nhấp vào Xong.
Giờ đây, bạn có thể xem bộ chứa trong thẻ Cloud Storage Tệp của bảng điều khiển Firebase. Đị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 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 đọ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 Authentication, bạn có thể định cấu hình quy tắc cho quyền truy cập công khai.
Điều này khiến Cloud Storage mở cho mọi người, 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 quy trình xác thực.
Tạo và khởi chạy firebase::App
Trước khi có thể truy cập vào Cloud Storage, bạn cần tạo và khởi chạy firebase::App
.
Thêm tệp tiêu đề cho firebase::App
:
#include "firebase/app.h"
Android
Tạo firebase::App
, truyền môi trường JNI và tham chiếu jobject
đến Hoạt động Java làm đối số:
app = App::Create(AppOptions(), jni_env, activity);
iOS trở lên
Tạo firebase::App
:
app = App::Create(AppOptions());
Truy cập vào lớp firebase::storage::Storage
Lớp firebase::storage::Storage
là điểm truy cập cho SDK C++ Cloud Storage.
Storage* storage = Storage::GetInstance(app);
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 tệp đối chiếu Cloud Storage.
Thiết lập nâng cao
Có một số trường hợp sử dụng cần thiết lập thêm:
- Sử dụng các bộ chứa Cloud Storage ở nhiều khu vực địa lý
- Sử dụng các bộ chứa Cloud Storage trong các lớp bộ nhớ khác nhau
- Sử dụng các bộ chứa Cloud Storage có 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 các 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 nhiều mẫu truy cập. Ví dụ: bạn có thể thiết lập một bộ chứa nhiều khu vực hoặc bộ chứa theo khu vực để lưu trữ ảnh hoặc nội dung thường được truy cập khác, cũng như bộ chứa gần dòng hoặc bộ chứa dòng lạnh để lưu trữ bản sao lưu của người dùng hoặc nội dung khác không được truy cập thường xuyên.
Trong cả hai trường hợp sử dụng này, bạn nên sử dụng nhiều bộ chứa Cloud Storage.
Trường hợp sử dụng thứ ba là hữu ích nếu bạn đang tạo 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ụ: một tài khoản cá nhân và một 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 bộ chứa Cloud Storage
Nếu muốn sử dụng 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 firebase::storage::Storage
tham chiếu đến bộ chứa tuỳ chỉnh:
// Get a non-default Cloud Storage bucket Storage* storage = Storage::GetInstance("gs://my-custom-bucket");
Làm việ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ó trong SDK Google Cloud:
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 của mình 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 bộ chứa mới tạo, vì những bộ chứa này có chế độ kiểm soát quyền truy cập mặc định để 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 firebase::App
tuỳ chỉnh, bạn có thể tạo một thực thể của firebase::storage::Storage
được khởi chạy bằng ứng dụng đó:
// Get the default bucket from a custom firebase::App Storage* storage = Storage::GetInstance(customApp); // Get a non-default bucket from a custom firebase::App Storage* storage = Storage::GetInstance(customApp, "gs://my-custom-bucket");
Các bước tiếp theo
Chuẩn bị ra mắt ứng dụng:
- 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 về Mức sử dụng và thanh toán trong bảng điều khiển Firebase để nắm được thông tin tổng quan 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êm thông tin chi tiết về mức sử dụng.
- Xem danh sách kiểm tra khi ra mắt Firebase.