Cloud Storage for Firebase מאפשר להעלות ולשתף תוכן שנוצר על ידי משתמשים, כמו כמו תמונות וסרטונים, מה שמאפשר לכם לבנות תוכן של מדיה עשירה תרגום מכונה. הנתונים מאוחסנים בקטגוריה Google Cloud Storage – פתרון לאחסון אובייקטים בקנה מידה של אקסה-בייט עם זמינות גבוהה ויתירות גלובלית. באמצעות Cloud Storage for Firebase אפשר להעלות את הקבצים האלה באופן מאובטח ישירות ממכשירים ניידים ומדפדפני אינטרנט, מטפלים ברשתות בעייתיות עם קלה.
לפני שמתחילים
לפני שמשתמשים Cloud Storage צריך:
רושמים את פרויקט C++ ומגדירים אותו לשימוש ב-Firebase.
אם הפרויקט שלכם ב-C++ כבר משתמש ב-Firebase, הוא כבר רשום שהוגדרו ל-Firebase.
מוסיפים את Firebase C++ SDK לפרויקט ב-C++.
שימו לב שהוספת Firebase לפרויקט C++ כוללת משימות גם במסוף Firebase ובפרויקט C++ הפתוח (לדוגמה, אפשר להוריד קובצי תצורה של Firebase מהמסוף, ואז מעבירים אותם לפרויקט C++ .
יצירת קטגוריית ברירת מחדל של Cloud Storage
בחלונית הניווט של מסוף Firebase, לוחצים על Storage, ולוחצים על Get started (תחילת העבודה).
חשוב לקרוא את ההודעה לגבי אבטחת הנתונים של Cloud Storage באמצעות אבטחה כללים. במהלך הפיתוח, כדאי לחשוב על להגדיר כללים לגישה ציבורית.
צריך לבחור מיקום להגדרת ברירת המחדל קטגוריה Cloud Storage.
הגדרת המיקום הזו היא מיקום ברירת המחדל של המשאבים ב-Google Cloud Platform (GCP) בפרויקט. לתשומת ליבכם: המיקום הזה ישמש לשירותי GCP בפרויקט שלכם שדורשים הגדרת מיקום, במיוחד מסד הנתונים Cloud Firestore והאפליקציה App Engine (הדרישה הזו חלה אם אתם משתמשים ב-Cloud Scheduler).
אם אין אפשרות לבחור מיקום, סימן שהפרויקט כבר פועל יש לו מיקום משאב GCP כברירת מחדל. היא הוגדרה במהלך הפרויקט או במהלך ההגדרה של שירות אחר שדורש מיקום הגדרה אישית.
אם את/ה בתוכנית Blaze, יש לך אפשרות ליצור מספר קטגוריות, לכל אחת מהן location.
לוחצים על סיום.
הגדרת גישה ציבורית
Cloud Storage for Firebase מספקת שפת כללים מצהירה שמאפשרת לכם להגדיר את המבנה של הנתונים, את האופן שבו הם יתווספו לאינדקס ואת הזמנים שבהם תוכלו לקרוא מהנתונים ולכתוב אליהם. כברירת מחדל, יש לכם גישת קריאה וכתיבה אל השירות Cloud Storage מוגבל, כך שרק משתמשים מאומתים יכולים לקרוא או לכתוב . כדי להתחיל בלי להגדיר את Authentication, תוכלו להגדיר את הכללים לגישה ציבורית.
זה הופך את Cloud Storage לפתוח לכולם, אפילו לאנשים שלא משתמשים לכן חשוב להגביל שוב את Cloud Storage בתהליך ההגדרה אימות.
יצירה והפעלה של firebase::App
לפני שתוכל לגשת אל Cloud Storage, עליך ליצור ולאתחל
firebase::App
.
כוללים את קובץ הכותרת של firebase::App
:
#include "firebase/app.h"
Android
יוצרים את firebase::App
, מעבירים את סביבת ה-JNI ו-jobject
הפניה לפעילות Java כארגומנטים:
app = App::Create(AppOptions(), jni_env, activity);
iOS+
יוצרים את firebase::App
:
app = App::Create(AppOptions());
גישה לכיתה firebase::storage::Storage
firebase::storage::Storage
class הוא נקודת הכניסה ל-Cloud Storage C++ SDK.
Storage* storage = Storage::GetInstance(app);
הכול מוכן, אפשר להתחיל להשתמש ב-Cloud Storage
קודם נלמד איך ליצור Cloud Storage הפניה.
הגדרה מתקדמת
יש כמה תרחישים לדוגמה שמחייבים הגדרה נוספת:
- שימוש בקטגוריות Cloud Storage במספר אזורים גיאוגרפיים
- שימוש ב-Cloud Storage קטגוריות ב- סוגי אחסון (storage classes) שונים
- שימוש ב-Cloud Storage בקטגוריות עם מספר משתמשים מאומתים באותה האפליקציה
התרחיש לדוגמה הראשון הוא מושלם אם יש לכם משתמשים מכל העולם ואתם רוצים לאחסן את הנתונים שלהם בקרבתם. לדוגמה, אפשר ליצור קטגוריות בארה"ב, באירופה ובאסיה כדי לאחסן נתונים עבור המשתמשים באזורים האלה כדי לקצר את זמן האחזור.
התרחיש לדוגמה השני מועיל אם יש לכם נתונים עם דפוסי גישה שונים. לדוגמה: אפשר להגדיר קטגוריה רב-אזורית או אזורית שמאחסנת תמונות או תוכן אחר שניגשים אליו לעיתים קרובות, וקטגוריה של קו ברשימת מוקדים או מוקד חירום שמאחסן גיבויים של משתמשים או תוכן אחר שניגשים אליו לעתים רחוקות.
בכל אחד מהתרחישים האלה מומלץ להשתמש במספר קטגוריות של Cloud Storage.
התרחיש לדוגמה השלישי שימושי אם אתם מפתחים אפליקציה, כמו Google Drive, מאפשרים למשתמשים להתחבר לכמה חשבונות (לדוגמה, חשבון אישי) וחשבון לצורכי עבודה). אפשר להשתמש באפליקציית Firebase בהתאמה אישית כדי לאמת כל חשבון נוסף.
שימוש במספר קטגוריות של Cloud Storage
אם רוצים להשתמש בקטגוריה Cloud Storage שאינה ברירת המחדל שצוינה למעלה,
או להשתמש במספר קטגוריות של Cloud Storage באפליקציה אחת, אפשר ליצור מכונה
של firebase::storage::Storage
שמפנה לקטגוריה המותאמת אישית:
// Get a non-default Cloud Storage bucket Storage* storage = Storage::GetInstance("gs://my-custom-bucket");
עבודה עם קטגוריות שיובאו
כשמייבאים קטגוריה קיימת של Cloud Storage אל Firebase, צריך:
צריכה להעניק ל-Firebase את היכולת לגשת לקבצים האלה באמצעות
הכלי gsutil
, שכלול
Google Cloud SDK:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
אפשר למצוא את מספר הפרויקט כפי שמתואר במבוא לפרויקטים ב-Firebase.
הפעולה הזו לא משפיעה על קטגוריות חדשות שנוצרו, כי לקטגוריות האלה יש את גישת ברירת המחדל שהוגדר לאפשר ל-Firebase. זוהי פעולה זמנית שתתבצע באופן אוטומטי בעתיד.
שימוש באפליקציית Firebase בהתאמה אישית
אם מפתחים אפליקציה מורכבת יותר באמצעות firebase::App
בהתאמה אישית, אפשר
הוא יכול ליצור מופע של firebase::storage::Storage
שאותחל עם
app:
// 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");
השלבים הבאים
מכינים את האפליקציה להשקת האפליקציה:
- מגדירים התראות תקציב לפרויקט במסוף Google Cloud.
- במסוף Firebase, אפשר לעקוב אחרי לוח הבקרה של השימוש והחיוב כדי לקבל תמונה כללית של השימוש בפרויקט במספר שירותי Firebase. אפשר גם להיכנס אל Cloud Storage שימוש מרכז הבקרה מידע מפורט על השימוש.
- לעיין ברשימת המשימות להשקה של Firebase.