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++).
בנוסף, חשוב לוודא שהפרויקט ב-Firebase מוגדר בתוכנית התמחור Blaze בתשלום לפי שימוש, שנדרשת לשימוש ב-Cloud Storage for Firebase. אם אתם משתמשים חדשים ב-Firebase וב-Google Cloud, כדאי לבדוק אם אתם עומדים בדרישות לקרדיט לתקופת ניסיון בחינם בשווי 300$.
יצירת קטגוריית Cloud Storage שמוגדרת כברירת מחדל
במסוף Firebase, עוברים אל Databases & Storage (מסדי נתונים ואחסון) > Storage (אחסון).
אם הפרויקט שלכם עדיין לא מוגדר לתוכנית התמחור Blaze בתשלום לפי שימוש, תתבקשו לשדרג את הפרויקט.
לוחצים על שנתחיל?.
בוחרים מיקום לקטגוריית ברירת המחדל.
קטגוריות ב-
, ב-US-CENTRAL1 וב-US-EAST1 יכולות ליהנות מהתוכנית 'תמיד בחינם' ל-Google Cloud Storage. קטגוריות בכל המיקומים האחרים כפופות לתמחור ולשימוש ב-Google Cloud Storage.US-WEST1אם רוצים, אפשר ליצור כמה דליים מאוחר יותר, כל אחד עם מיקום משלו.
מגדירים את Firebase Security Rules לקטגוריית ברירת המחדל. במהלך הפיתוח, כדאי להגדיר את הכללים לגישה ציבורית.
לוחצים על סיום.
עכשיו אפשר לראות את ה-bucket במסוף Firebase (עוברים אל Databases & Storage > Storage > הכרטיסייה Files).
פורמט ברירת המחדל של שם הקטגוריה הוא PROJECT_ID.firebasestorage.app
הגדרת גישה ציבורית
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 הן נקודת הכניסה ל-Cloud Storage C++ SDK.
Storage* storage = Storage::GetInstance(app);
הכול מוכן לשימוש ב-Cloud Storage!
מה השלב הבא? איך יוצרים קובץ עזר מסוג Cloud Storage
הגדרה מתקדמת
יש כמה תרחישי שימוש שדורשים הגדרה נוספת:
- שימוש בקטגוריות Cloud Storage במספר אזורים גיאוגרפיים
- שימוש בדליים מסוג Cloud Storage בסוגי אחסון שונים
- שימוש ב-Cloud Storage buckets עם כמה משתמשים מאומתים באותה אפליקציה
מקרה השימוש הראשון מתאים במיוחד אם יש לכם משתמשים בכל העולם ואתם רוצים לאחסן את הנתונים שלהם בקרבתם. לדוגמה, אפשר ליצור מאגרי מידע בארה"ב, באירופה ובאסיה כדי לאחסן נתונים של משתמשים באזורים האלה ולצמצם את זמן האחזור.
תרחיש השימוש השני שימושי אם יש לכם נתונים עם דפוסי גישה שונים. לדוגמה: אתם יכולים להגדיר באקט רב-אזורי או אזורי לאחסון תמונות או תוכן אחר שמתבצעת אליו גישה לעיתים קרובות, ובאקט nearline או coldline לאחסון גיבויים של משתמשים או תוכן אחר שמתבצעת אליו גישה לעיתים רחוקות.
בכל אחד מהתרחישים האלה, כדאי להשתמש בכמה דלייםCloud Storage.
מקרה השימוש השלישי שימושי אם אתם מפתחים אפליקציה, כמו Google Drive, שמאפשרת למשתמשים להתחבר לכמה חשבונות (למשל, חשבון אישי וחשבון של מקום עבודה). אתם יכולים להשתמש במופע מותאם אישית של אפליקציית Firebase כדי לאמת כל חשבון נוסף.
שימוש בכמה קטגוריות Cloud Storage
אם רוצים להשתמש בCloud Storage אחר, שלא מוגדר כברירת מחדל כמו בדוגמה שלמעלה, או להשתמש בכמה Cloud Storage באפליקציה אחת, אפשר ליצור מופע של firebase::storage::Storage שמפנה לCloud Storage בהתאמה אישית:
// Get a non-default Cloud Storage bucket Storage* storage = Storage::GetInstance("gs://my-custom-bucket");
עבודה עם קטגוריות מיובאות
כשמייבאים 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://BUCKET_NAME
אפשר למצוא את מספר הפרויקט כמו שמתואר במאמר המבוא לפרויקטים ב-Firebase.
השינוי הזה לא משפיע על קטגוריות חדשות שנוצרו, כי הגישה אליהן מוגדרת כברירת מחדל כגישה ל-Firebase. זהו אמצעי זמני, והפעולה הזו תתבצע אוטומטית בעתיד.
שימוש באפליקציית Firebase מותאמת אישית
אם אתם בונים אפליקציה מורכבת יותר באמצעות firebase::App מותאם אישית, אתם יכולים ליצור מופע של firebase::storage::Storage שמאותחל עם האפליקציה הזו:
// 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.