Cloud Storage for Firebase تتيح لك تحميل المحتوى الذي ينشئه المستخدمون ومشاركته، مثل الصور والفيديوهات، ما يسمح لك بإنشاء محتوى وسائط تفاعلية متقدّمة في تطبيقاتك. يتم تخزين بياناتك في حاوية Google Cloud Storage، وهي حل لتخزين الكائنات على نطاق إكسا بايت يتسم بالتوفّر العالي والنسخ الاحتياطي العالمي. Cloud Storage for Firebase تتيح لك تحميل هذه الملفات بأمان مباشرةً من الأجهزة الجوّالة ومتصفّحات الويب، ما يسهّل التعامل مع الشبكات غير المنتظمة.
قبل البدء
تأكَّد من إكمال دليل البدء لتطبيقات الويب، إذا لم يسبق لك ذلك. ويشمل ذلك ما يلي:
إنشاء مشروع Firebase
تسجيل تطبيق الويب في المشروع وربط تطبيقك بمنصة Firebase من خلال إضافة حزمة تطوير البرامج (SDK) من Firebase ورمز كائن إعداد Firebase إلى تطبيقك
تأكَّد من أنّ مشروع Firebase الخاص بك يستخدم خطة التسعير Blaze المَرِنة، وهي شرط لاستخدام Cloud Storage for Firebase. إذا كنت تستخدم Firebase و Google Cloudللمرة الأولى، تحقَّق مما إذا كنت مؤهلاً للحصول على رصيد تجريبي مجاني بقيمة 300 دولار.
إنشاء حاوية Cloud Storage تلقائية
في وحدة تحكُّم Firebase، انتقِل إلى قواعد البيانات ومساحة التخزين > مساحة التخزين.
إذا لم يكن مشروعك بعد على خطة Blaze المَرِنة للدفع حسب الاستخدام، سيُطلب منك ترقية مشروعك.
انقر على البدء.
اختَر موقعًا لحاويتك التلقائية.
يمكن للحاويات في
وUS-CENTRAL1 وUS-EAST1 الاستفادة من المستوى "دائمًا مجاني" في Google Cloud Storage. تخضع الحاويات في جميع المواقع الأخرى لتسعير Google Cloud Storage واستخدامه.US-WEST1إذا أردت، يمكنك لاحقًا إنشاء حاويات متعددة، لكل منها موقعها الخاص.
اضبط Firebase Security Rules لحاويتك التلقائية. أثناء التطوير، ننصحك بـ إعداد قواعدك للوصول العلني.
انقر على تم.
يمكنك الآن عرض الحاوية في وحدة تحكُّم Firebase (انتقِل إلى
قواعد البيانات ومساحة التخزين > مساحة التخزين >
علامة التبويب الملفات).
يكون تنسيق اسم الحاوية التلقائية PROJECT_ID.firebasestorage.app
إعداد الوصول العلني
Cloud Storage for Firebase توفّر لغة قواعد إعلانية تتيح لك تحديد كيفية تنظيم بياناتك وكيفية فهرستها ومتى يمكن قراءة بياناتك وكتابتها. يكون الوصول للقراءة والكتابة إلى Cloud Storage محدودًا تلقائيًا، لذا لا يمكن للمستخدمين الذين تم التحقّق من هويتهم فقط قراءة البيانات أو كتابتها. للبدء بدون إعداد Authentication، يمكنك ضبط قواعدك للوصول العلني.
يؤدي ذلك إلى إتاحة Cloud Storage لأي مستخدم، حتى لو لم يكن يستخدم تطبيقك، لذا احرص على تقييد Cloud Storage مرة أخرى عند إعداد التحقّق من الهوية.
إضافة حزمة تطوير البرامج (SDK) من Cloud Storage لـ JavaScript وإعداد Cloud Storage
يجب تحديد اسم حاوية Cloud Storage عند إعداد حزمة تطوير البرامج (SDK) من JavaScript.
يمكنك العثور على اسم حاوية Cloud Storage في وحدة تحكُّم Firebase (انتقِل إلى قواعد البيانات ومساحة التخزين > مساحة التخزين > علامة التبويب الملفات). استنادًا إلى تاريخ إنشاء الحاوية التلقائية، سيكون اسم الحاوية بأحد التنسيقات التالية:
-
(الحاوية التلقائية التي تم إنشاؤها في سبتمبر 2024 أو بعدهPROJECT_ID.firebasestorage.app) -
(الحاوية التلقائية القديمة التي تم إنشاؤها قبلPROJECT_ID.appspot.comسبتمبر 2024 )
يمكنك إعداد حزمة تطوير البرامج (SDK) باستخدام مقتطف الرمز البرمجي التالي:
Web
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: 'BUCKET_NAME' }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = getStorage(app);
Web
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: 'BUCKET_NAME' }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = firebase.storage();
أنت الآن جاهز لبدء استخدام Cloud Storage.
ما هي الخطوة التالية؟ تعرَّف على كيفية إنشاء مرجع Cloud Storage.
عملية الإعداد المتقدّمة
هناك بعض حالات الاستخدام التي تتطلب إعدادًا إضافيًا:
- استخدام حاويات Cloud Storage في مناطق جغرافية متعددة
- استخدام حاويات Cloud Storage في فئات تخزين مختلفة
- استخدام حاويات Cloud Storage مع عدة مستخدمين تم التحقّق من هويتهم في التطبيق نفسه
تكون حالة الاستخدام الأولى مثالية إذا كان لديك مستخدمون في جميع أنحاء العالم وأردت تخزين بياناتهم بالقرب منهم. على سبيل المثال، يمكنك إنشاء حاويات في الولايات المتحدة وأوروبا وآسيا لتخزين بيانات المستخدمين في هذه المناطق من أجل تقليل وقت الاستجابة.
تكون حالة الاستخدام الثانية مفيدة إذا كانت لديك بيانات بأنماط وصول مختلفة. على سبيل المثال، يمكنك إعداد حاوية متعددة المناطق أو إقليمية تخزّن الصور أو المحتوى الآخر الذي يتم الوصول إليه بشكل متكرر، وحاوية nearline أو coldline تخزّن النُسخ الاحتياطية للمستخدمين أو المحتوى الآخر الذي يتم الوصول إليه بشكل غير متكرر.
في أي من حالات الاستخدام هذه، ننصحك باستخدام حاويات Cloud Storageمتعددة.
تكون حالة الاستخدام الثالثة مفيدة إذا كنت تنشئ تطبيقًا، مثل Google Drive، يتيح للمستخدمين تسجيل الدخول باستخدام حسابات متعددة (على سبيل المثال، حساب شخصي وحساب عمل). يمكنك استخدام مثيل مخصّص من Firebase App للتحقّق من هوية كل حساب إضافي.
استخدام حاويات متعددةCloud Storage
إذا أردت استخدام حاوية Cloud Storage غير الحاوية التلقائية الموضّحة
سابقًا في هذا الدليل، أو استخدام حاويات Cloud Storage متعددة في تطبيق واحد، يمكنك
إنشاء مثيل من firebase.storage يشير إلى الحاوية المخصّصة:
Web
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
// 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://BUCKET_NAME
يمكنك العثور على رقم مشروعك كما هو موضّح في الـ مقدمة لمشاريع Firebase.
لا يؤثر ذلك في الحاويات التي تم إنشاؤها حديثًا، لأنّ عناصر التحكّم التلقائية في الوصول إليها تكون مضبوطة على السماح لـ Firebase. هذا إجراء مؤقت، وسيتم تنفيذه تلقائيًا في المستقبل.
استخدام تطبيق Firebase مخصّص
إذا كنت تنشئ تطبيقًا أكثر تعقيدًا باستخدام firebase.app.App مخصّص، يمكنك إنشاء مثيل من firebase.storage.Storage تم إعداده باستخدام هذا التطبيق:
Web
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
// 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");
الخطوات التالية
الاستعداد لإطلاق تطبيقك:
فعِّل App Check للمساعدة في ضمان عدم إمكانية وصول سوى تطبيقاتك إلى حاويات التخزين.
اضبط تنبيهات الميزانية لمشروعك في Google Cloud Console.
راقِب لوحة بيانات الاستخدام والفوترة في وحدة تحكُّم Firebase للحصول على صورة عامة عن استخدام مشروعك لخدمات Firebase متعددة. يمكنك أيضًا الانتقال إلى لوحة بيانات Cloud Storage الاستخدام للحصول على معلومات أكثر تفصيلاً عن الاستخدام.