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

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

المتطلبات الأساسية

إذا لم تكن قد قمت بذلك بالفعل، فقم بتثبيت Firebase JS SDK وقم بتهيئة Firebase .

قم بإنشاء مجموعة تخزين سحابية افتراضية

  1. من جزء التنقل بوحدة تحكم Firebase ، حدد التخزين ، ثم انقر فوق البدء .

  2. قم بمراجعة الرسائل حول تأمين بيانات Cloud Storage الخاصة بك باستخدام قواعد الأمان. أثناء التطوير، فكر في إعداد القواعد الخاصة بك للوصول العام .

  3. حدد موقعًا لحاوية التخزين السحابي الافتراضية الخاصة بك.

    • يعد إعداد الموقع هذا هو موقع موارد Google Cloud Platform (GCP) الافتراضي لمشروعك. لاحظ أنه سيتم استخدام هذا الموقع لخدمات GCP في مشروعك الذي يتطلب إعداد الموقع، على وجه التحديد، قاعدة بيانات Cloud Firestore وتطبيق App Engine (وهو أمر مطلوب إذا كنت تستخدم Cloud Scholer).

    • إذا لم تتمكن من تحديد موقع، فهذا يعني أن مشروعك يحتوي بالفعل على موقع مورد Google Cloud Platform افتراضي. تم ضبطه إما أثناء إنشاء المشروع أو عند إعداد خدمة أخرى تتطلب إعداد الموقع.

    إذا كنت مشتركًا في خطة Blaze، فيمكنك إنشاء مجموعات متعددة ، لكل منها موقعها الخاص.

  4. انقر فوق تم .

قم بإعداد الوصول العام

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

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

أضف عنوان URL لحاويتك إلى تطبيقك

إذا لم يتم تضمينه بالفعل، فستحتاج إلى إضافة عنوان URL لمجموعة Cloud Storage إلى كائن تكوين تطبيق Firebase .

  1. انتقل إلى لوحة معلومات التخزين في وحدة تحكم Firebase .

  2. انقر فوق علامة التبويب "الملفات" ، ثم ابحث في رأس عارض الملفات.

  3. انسخ عنوان URL إلى الحافظة الخاصة بك. وعادةً ما يكون على شكل project-id .appspot.com .

  4. إلى كائن 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");

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