با Cloud Storage در وب شروع کنید

Cloud Storage for Firebase به شما امکان می‌دهد محتوای تولید شده توسط کاربر، مانند تصاویر و ویدیو را آپلود و به اشتراک بگذارید، که به شما امکان می‌دهد محتوای رسانه‌ای غنی را در برنامه‌های خود ایجاد کنید. داده‌های شما در یک سطل Google Cloud Storage ذخیره می‌شوند - یک راه‌حل ذخیره‌سازی شیء در مقیاس اگزابایت با دسترسی بالا و افزونگی جهانی. Cloud Storage for Firebase به شما امکان می‌دهد این فایل‌ها را مستقیماً از دستگاه‌های تلفن همراه و مرورگرهای وب به طور ایمن آپلود کنید و شبکه‌های پراکنده را به راحتی مدیریت کنید.

قبل از اینکه شروع کنی

  1. اگر هنوز این کار را نکرده‌اید، مطمئن شوید که راهنمای شروع به کار برای برنامه‌های وب را تکمیل کرده‌اید. این شامل موارد زیر است:

    • ایجاد یک پروژه فایربیس

    • ثبت برنامه وب خود در پروژه و اتصال برنامه به Firebase با اضافه کردن Firebase JS SDK و شیء پیکربندی Firebase به برنامه.

  2. مطمئن شوید که پروژه Firebase شما در طرح قیمت‌گذاری Blaze با پرداخت به ازای استفاده قرار دارد، که الزامی است که از اکتبر 2024 آغاز شده است (به سوالات متداول ما مراجعه کنید). اگر در Firebase و Google Cloud تازه‌کار هستید، بررسی کنید که آیا واجد شرایط دریافت اعتبار 300 دلاری هستید یا خیر.

یک سطل Cloud Storage پیش‌فرض ایجاد کنید

  1. از پنل ناوبری کنسول Firebase ، گزینه Storage را انتخاب کنید.

    اگر پروژه شما هنوز در طرح قیمت‌گذاری پرداخت در محل Blaze قرار ندارد، از شما خواسته می‌شود پروژه خود را ارتقا دهید.

  2. روی شروع به کار کلیک کنید.

  3. مکانی را برای سطل پیش‌فرض خود انتخاب کنید.

  4. Firebase Security Rules برای باکت پیش‌فرض خود پیکربندی کنید. در طول توسعه، تنظیم قوانین برای دسترسی عمومی را در نظر بگیرید.

  5. روی انجام شد کلیک کنید.

اکنون می‌توانید سطل را در تب Cloud Storage Files در کنسول Firebase مشاهده کنید. فرمت نام سطل پیش‌فرض شما به صورت زیر است: PROJECT_ID .firebasestorage.app

تنظیم دسترسی عمومی

Cloud Storage for Firebase یک زبان قوانین اعلانی ارائه می‌دهد که به شما امکان می‌دهد نحوه ساختاردهی داده‌هایتان، نحوه ایندکس‌گذاری آنها و زمان خواندن و نوشتن داده‌هایتان را تعریف کنید. به طور پیش‌فرض، دسترسی خواندن و نوشتن به Cloud Storage محدود شده است، بنابراین فقط کاربران احراز هویت شده می‌توانند داده‌ها را بخوانند یا بنویسند. برای شروع بدون تنظیم Authentication ، می‌توانید قوانین خود را برای دسترسی عمومی پیکربندی کنید .

این باعث می‌شود Cloud Storage برای همه، حتی افرادی که از برنامه شما استفاده نمی‌کنند، باز باشد، بنابراین هنگام تنظیم احراز هویت، حتماً Cloud Storage خود را دوباره محدود کنید.

اضافه کردن SDK مربوط Cloud Storage JS و راه‌اندازی اولیه Cloud Storage

هنگام مقداردهی اولیه SDK جاوا اسکریپت، باید نام مخزن Cloud Storage خود را مشخص کنید.

می‌توانید نام سطل Cloud Storage خود را در تب Cloud Storage Files در کنسول Firebase پیدا کنید. بسته به زمان ایجاد سطل پیش‌فرض، نام سطل به یکی از فرمت‌های زیر خواهد بود:

  • PROJECT_ID .firebasestorage.app (باکت پیش‌فرض در تاریخ ۳۰ اکتبر ۲۰۲۴ یا بعد از آن ایجاد شده است)
  • PROJECT_ID .appspot.com (باکت پیش‌فرض قبل از 30 اکتبر 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 ایجاد کنید .

تنظیمات پیشرفته

چند مورد استفاده وجود دارد که نیاز به تنظیمات اضافی دارند:

مورد اول در صورتی که کاربرانی در سراسر جهان دارید و می‌خواهید داده‌های آنها را در نزدیکی خود ذخیره کنید، عالی است. به عنوان مثال، می‌توانید سطل‌هایی را در ایالات متحده، اروپا و آسیا ایجاد کنید تا داده‌ها را برای کاربران در آن مناطق ذخیره کنید تا تأخیر کاهش یابد.

مورد استفاده دوم در صورتی مفید است که داده‌هایی با الگوهای دسترسی متفاوت داشته باشید. به عنوان مثال: می‌توانید یک سطل چند منطقه‌ای یا منطقه‌ای راه‌اندازی کنید که تصاویر یا سایر محتوای پرکاربرد را ذخیره می‌کند، و یک سطل nearline یا coldline که پشتیبان‌های کاربر یا سایر محتوای کم‌کاربرد را ذخیره می‌کند.

در هر یک از این موارد استفاده، شما باید از چندین Cloud Storage استفاده کنید .

مورد سوم در صورتی مفید است که در حال ساخت برنامه‌ای مانند گوگل درایو باشید که به کاربران اجازه می‌دهد چندین حساب کاربری (مثلاً یک حساب شخصی و یک حساب کاری) داشته باشند. می‌توانید از یک نمونه برنامه سفارشی 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 موجود به فایربیس، باید با استفاده از ابزار 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");

مراحل بعدی