بدء استخدام Cloud Storage على الويب

تتيح لك Cloud Storage for Firebase تحميل المحتوى الذي ينشئه المستخدمون ومشاركته، مثل الصور والفيديوهات، ما يسمح لك بإنشاء محتوى وسائط تفاعلية متقدّمة في تطبيقاتك. يتم تخزين بياناتك في مجموعة تخزين في Google Cloud Storage، وهي حل لتخزين الكائنات على نطاق إكسا بايت يتسم بالتوفّر العالي والنسخ الاحتياطي العالمي. Cloud Storage for Firebase تتيح لك تحميل هذه الملفات بأمان مباشرةً من الأجهزة الجوّالة ومتصفّحات الويب، ما يسهّل التعامل مع الشبكات غير المستقرة.

قبل البدء

  1. تأكَّد من إكمال دليل البدء لتطبيقات الويب، إذا لم يسبق لك ذلك. ويشمل ذلك ما يلي:

    • إنشاء مشروع Firebase

    • تسجيل تطبيق الويب في المشروع وربط تطبيقك بمنصة Firebase من خلال إضافة حزمة Firebase JS SDK وكائن إعداد Firebase إلى تطبيقك

  2. تأكَّد من أنّ مشروعك على Firebase يستخدم خطة التسعير Blaze للدفع حسب الاستخدام، وهي شرط لاستخدام Cloud Storage for Firebase. إذا كنت تستخدم Firebase و Google Cloudللمرة الأولى، تحقَّق مما إذا كنت مؤهلاً للحصول على رصيد تجريبي مجاني بقيمة 300 دولار.

إنشاء مجموعة تخزين تلقائية Cloud Storage

  1. في وحدة تحكُّم Firebase، انتقِل إلى قواعد البيانات ومساحة التخزين > مساحة التخزين.

    إذا لم يكن مشروعك بعد على خطة Blaze المَرِنة للدفع حسب الاستخدام، سيُطلب منك ترقية مشروعك.

  2. انقر على البدء.

  3. اختَر موقعًا لمجموعة التخزين التلقائية.

  4. اضبط Firebase Security Rules لمجموعة التخزين التلقائية. أثناء التطوير، ننصحك بـ إعداد قواعد الوصول العلني.

  5. انقر على تم.

يمكنك الآن عرض مجموعة التخزين في وحدة تحكُّم Firebase (انتقِل إلى قواعد البيانات ومساحة التخزين > مساحة التخزين > علامة التبويب الملفات). يكون تنسيق اسم مجموعة التخزين التلقائية PROJECT_ID.firebasestorage.app.

إعداد الوصول العلني

Cloud Storage for Firebase توفّر لغة قواعد إعلانية تتيح لك تحديد كيفية تنظيم بياناتك وكيفية فهرستها ومتى يمكن قراءتها وكتابتها. يكون الوصول للقراءة والكتابة إلى Cloud Storage محدودًا تلقائيًا، لذا لا يمكن للمستخدمين المصادَق عليهم فقط قراءة البيانات أو كتابتها. للبدء بدون إعداد Authentication، يمكنك ضبط قواعد الوصول العلني.

يؤدي ذلك إلى إتاحة Cloud Storage لأي مستخدم، حتى لو لم يكن يستخدم تطبيقك، لذا احرص على تقييد Cloud Storage مرة أخرى عند إعداد المصادقة.

إضافة حزمة Cloud Storage JS SDK وإعداد Cloud Storage

يجب تحديد اسم مجموعة تخزين Cloud Storage عند إعداد حزمة JavaScript SDK.

يمكنك العثور على اسم مجموعة Cloud Storage في وحدة تحكُّم Firebase (انتقِل إلى قواعد البيانات ومساحة التخزين > مساحة التخزين > علامة التبويب الملفات). استنادًا إلى تاريخ إنشاء مجموعة التخزين التلقائية، سيكون اسم مجموعة التخزين بأحد التنسيقات التالية:

  • PROJECT_ID.firebasestorage.app (مجموعة التخزين التلقائية التي تم إنشاؤها في سبتمبر 2024 أو بعده )
  • 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 مع عدة مستخدمين مصادَق عليهم في التطبيق نفسه

تكون حالة الاستخدام الأولى مثالية إذا كان لديك مستخدمون في جميع أنحاء العالم وأردت تخزين بياناتهم بالقرب منهم. على سبيل المثال، يمكنك إنشاء مجموعات تخزين في الولايات المتحدة وأوروبا وآسيا لتخزين بيانات المستخدمين في هذه المناطق من أجل تقليل وقت الاستجابة.

تكون حالة الاستخدام الثانية مفيدة إذا كانت لديك بيانات بأنماط وصول مختلفة. على سبيل المثال، يمكنك إعداد مجموعة تخزين متعددة المناطق أو إقليمية تخزّن الصور أو المحتوى الآخر الذي يتم الوصول إليه بشكل متكرر، ومجموعة تخزين بالقرب من الإنترنت أو غير نشطة تخزّن نُسخًا احتياطية من بيانات المستخدمين أو المحتوى الآخر الذي يتم الوصول إليه بشكل غير متكرر.

في أيّ من حالات الاستخدام هذه، ننصحك باستخدام مجموعات تخزين متعددة في Cloud Storage.

تكون حالة الاستخدام الثالثة مفيدة إذا كنت تنشئ تطبيقًا، مثل Google Drive، يتيح للمستخدمين تسجيل الدخول باستخدام حسابات متعددة (على سبيل المثال، حساب شخصي وحساب عمل). يمكنك استخدام مثيل مخصّص من تطبيق Firebase لمصادقة كل حساب إضافي.

استخدام مجموعات تخزين متعددة في 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");

الخطوات التالية