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 sử dụng cao và tính dư thừa trên toàn cầu. Cloud Storage for Firebase cho phép bạn tải những 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 với.
Trước khi bắt đầu
Trước khi 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 Firebase C++ SDK vào dự án C++.
Xin lưu ý rằng việc thêm Firebase vào dự án C++ bao gồm cả các tác vụ trong bảng điều khiển của Firebase 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 rằng dự án Firebase của bạn đang sử dụng gói giá Blaze (trả tiền theo mức dùng). Đây là yêu cầu bắt buộc để sử dụng Cloud Storage for Firebase. 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 cho Bản dùng thử miễn phí hay không.
Tạo vùng chứa mặc định Cloud Storage
Trong bảng điều khiển của Firebase, hãy chuyển đến Cơ sở dữ liệu và bộ nhớ > 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.
Nhấp vào Bắt đầu.
Chọn một vị trí cho vùng chứa mặc định.
Các vùng chứa trong
,US-CENTRAL1 vàUS-EAST1 có thể tận dụng bậc "Luôn miễn phí" cho Google Cloud Storage. Các vùng chứa ở tất 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 vùng chứa, mỗi vùng chứa có vị trí riêng.
Đị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.
Nhấp vào Xong.
Giờ đây, bạn có thể xem vùng chứa trong bảng điều khiển Firebase (chuyển đến thẻ
Cơ sở dữ liệu và bộ nhớ > Bộ nhớ >
Tệp).
Đị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 đọ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 sẽ giúp mọi người có thể truy cập vào Cloud Storage, 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 quyền truy cập vào Cloud Storage khi bạn thiết lập tính năng 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à tệp tham chiếu jobject đến Hoạt động Java làm đối số:
app = App::Create(AppOptions(), jni_env, activity);
iOS+
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 Cloud Storage C++ SDK.
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 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 các vùng chứa Cloud Storage trong nhiều khu vực địa lý
- Sử dụng các vùng chứa Cloud Storage trong các lớp bộ nhớ khác nhau
- Sử dụng các vùng 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 rất phù hợp 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 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 khu vực lưu trữ hình ảnh hoặc nội dung khác thường xuyên được truy cập và một vùng chứa nearline hoặc coldline 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 vùng chứaCloud Storage.
Trường hợp sử dụng thứ ba sẽ 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ụ: 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 vùng chứa Cloud Storage khác với vùng chứa mặc định được cung cấp ở trên,
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ể
của firebase::storage::Storage tham chiếu đến vùng chứa tuỳ chỉnh:
// Get a non-default Cloud Storage bucket Storage* storage = Storage::GetInstance("gs://my-custom-bucket");
Thao tác với các vùng chứa đã nhập
Khi nhập một vùng 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
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ó chế độ kiểm soát quyền truy cập mặc định được thiết lập để 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 bạn đang tạo một ứng dụng phức tạp hơn bằng cách sử dụng firebase::App tuỳ chỉnh, bạn có thể tạo một thực thể 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 Mức sử dụng và thanh toán trong bảng điều khiển 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ụ của 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 khi ra mắt Firebase.