يتيح لك Cloud Storage for Firebase تحميل ومشاركة المحتوى الذي ينشئه المستخدم، مثل الصور والفيديو، مما يسمح لك بإنشاء محتوى وسائط غني في تطبيقاتك. يتم تخزين بياناتك في مجموعة Google Cloud Storage - وهو حل تخزين كائنات بحجم إكسابايت يتميز بتوفر عالٍ وتكرار عالمي. يتيح لك Cloud Storage for Firebase تحميل هذه الملفات بشكل آمن مباشرة من الأجهزة المحمولة ومتصفحات الويب، والتعامل مع الشبكات المتقطعة بسهولة.
المتطلبات الأساسية
إذا لم تكن قد قمت بذلك بالفعل، فقم بتثبيت Firebase JS SDK وقم بتهيئة Firebase .
قم بإنشاء مجموعة تخزين سحابية افتراضية
من جزء التنقل بوحدة تحكم Firebase ، حدد التخزين ، ثم انقر فوق البدء .
قم بمراجعة الرسائل حول تأمين بيانات Cloud Storage الخاصة بك باستخدام قواعد الأمان. أثناء التطوير، فكر في إعداد القواعد الخاصة بك للوصول العام .
حدد موقعًا لحاوية التخزين السحابي الافتراضية الخاصة بك.
يعد إعداد الموقع هذا هو موقع موارد Google Cloud Platform (GCP) الافتراضي لمشروعك. لاحظ أنه سيتم استخدام هذا الموقع لخدمات GCP في مشروعك الذي يتطلب إعداد الموقع، على وجه التحديد، قاعدة بيانات Cloud Firestore وتطبيق App Engine (وهو أمر مطلوب إذا كنت تستخدم Cloud Scholer).
إذا لم تتمكن من تحديد موقع، فهذا يعني أن مشروعك يحتوي بالفعل على موقع مورد Google Cloud Platform افتراضي. تم ضبطه إما أثناء إنشاء المشروع أو عند إعداد خدمة أخرى تتطلب إعداد الموقع.
إذا كنت مشتركًا في خطة Blaze، فيمكنك إنشاء مجموعات متعددة ، لكل منها موقعها الخاص.
انقر فوق تم .
قم بإعداد الوصول العام
يوفر Cloud Storage for Firebase لغة قواعد تعريفية تسمح لك بتحديد كيفية تنظيم بياناتك، وكيفية فهرستها، ومتى يمكن قراءة بياناتك منها والكتابة إليها. بشكل افتراضي، يتم تقييد الوصول للقراءة والكتابة إلى Cloud Storage بحيث يتمكن المستخدمون المصادق عليهم فقط من قراءة البيانات أو كتابتها. للبدء دون إعداد المصادقة ، يمكنك تكوين القواعد الخاصة بك للوصول العام .
وهذا يجعل التخزين السحابي مفتوحًا لأي شخص، حتى الأشخاص الذين لا يستخدمون تطبيقك، لذا تأكد من تقييد التخزين السحابي الخاص بك مرة أخرى عند إعداد المصادقة.
أضف عنوان URL لحاويتك إلى تطبيقك
إذا لم يتم تضمينه بالفعل، فستحتاج إلى إضافة عنوان URL لمجموعة Cloud Storage إلى كائن تكوين تطبيق Firebase .
انتقل إلى لوحة معلومات التخزين في وحدة تحكم Firebase .
انقر فوق علامة التبويب "الملفات" ، ثم ابحث في رأس عارض الملفات.
انسخ عنوان URL إلى الحافظة الخاصة بك. وعادةً ما يكون على شكل
project-id .appspot.com
.إلى كائن
firebaseConfig
في تطبيقك، قم بإضافة سمةstorageBucket
مع عنوان URL للحاوية الخاصة بك:
واجهة برمجة تطبيقات الويب المعيارية
import { initializeApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '' }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = getStorage(app);
واجهة برمجة تطبيقات مساحة اسم الويب
import firebase from "firebase/app"; import "firebase/compat/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '[your-storage-bucket-url]' }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = firebase.storage();
أنت جاهز لبدء استخدام التخزين السحابي!
الخطوة التالية؟ تعرف على كيفية إنشاء مرجع للتخزين السحابي .
اعدادات متقدمة
هناك بعض حالات الاستخدام التي تتطلب إعدادًا إضافيًا:
- استخدام دلاء التخزين السحابي في مناطق جغرافية متعددة
- استخدام دلاء التخزين السحابي في فئات تخزين مختلفة
- استخدام مجموعات التخزين السحابي مع العديد من المستخدمين المعتمدين في نفس التطبيق
تعتبر حالة الاستخدام الأولى مثالية إذا كان لديك مستخدمين في جميع أنحاء العالم، وترغب في تخزين بياناتهم بالقرب منهم. على سبيل المثال، يمكنك إنشاء مجموعات بيانات في الولايات المتحدة وأوروبا وآسيا لتخزين البيانات للمستخدمين في تلك المناطق لتقليل زمن الاستجابة.
حالة الاستخدام الثانية مفيدة إذا كانت لديك بيانات ذات أنماط وصول مختلفة. على سبيل المثال: يمكنك إعداد حاوية إقليمية أو متعددة المناطق لتخزين الصور أو غيرها من المحتويات التي يتم الوصول إليها بشكل متكرر، وحاوية الخط القريب أو البارد التي تخزن النسخ الاحتياطية للمستخدم أو أي محتوى آخر لا يتم الوصول إليه بشكل متكرر.
في أي من حالات الاستخدام هذه، ستحتاج إلى استخدام مجموعات تخزين سحابية متعددة .
تعتبر حالة الاستخدام الثالثة مفيدة إذا كنت تقوم بإنشاء تطبيق، مثل Google Drive، والذي يتيح للمستخدمين الحصول على حسابات متعددة مسجلة الدخول (على سبيل المثال، حساب شخصي وحساب عمل). يمكنك استخدام مثيل تطبيق Firebase مخصص لمصادقة كل حساب إضافي.
استخدم عدة مجموعات تخزين سحابية
إذا كنت تريد استخدام مجموعة تخزين سحابية بخلاف الحاوية الافتراضية المذكورة أعلاه، أو استخدام عدة مجموعات تخزين سحابية في تطبيق واحد، فيمكنك إنشاء مثيل لـ firebase.storage
الذي يشير إلى حاويتك المخصصة:
Web modular API
import { getApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // Get a non-default Storage bucket const firebaseApp = getApp(); const storage = getStorage(firebaseApp, "gs://my-custom-bucket");
Web namespaced API
// Get a non-default Storage bucket var storage = firebase.app().storage("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.App
مخصص، فيمكنك إنشاء مثيل لـ firebase.storage.Storage
تمت تهيئته باستخدام هذا التطبيق:
Web modular API
import { getStorage } from "firebase/storage"; // Get the default bucket from a custom firebase.app.App const storage1 = getStorage(customApp); // Get a non-default bucket from a custom firebase.app.App const storage2 = getStorage(customApp, "gs://my-custom-bucket");
Web namespaced API
// Get the default bucket from a custom firebase.app.App var storage = customApp.storage(); // Get a non-default bucket from a custom firebase.app.App var storage = customApp.storage("gs://my-custom-bucket");
الخطوات التالية
الاستعداد لإطلاق تطبيقك:
قم بتمكين التحقق من التطبيق للمساعدة في التأكد من أن تطبيقاتك فقط هي التي يمكنها الوصول إلى مجموعات التخزين الخاصة بك.
قم بإعداد تنبيهات الميزانية لمشروعك في Google Cloud Console.
راقب لوحة تحكم الاستخدام والفوترة في وحدة تحكم Firebase للحصول على صورة شاملة لاستخدام مشروعك عبر خدمات Firebase المتعددة. يمكنك أيضًا زيارة لوحة معلومات استخدام التخزين السحابي للحصول على معلومات استخدام أكثر تفصيلاً.
قم بمراجعة القائمة المرجعية لإطلاق Firebase .