Cloud Storage for Firebase به شما امکان میدهد محتوای تولید شده توسط کاربر، مانند تصاویر و ویدیو را آپلود و به اشتراک بگذارید، که به شما امکان میدهد محتوای رسانهای غنی را در برنامههای خود ایجاد کنید. دادههای شما در یک سطل Google Cloud Storage ذخیره میشوند - یک راهحل ذخیرهسازی شیء در مقیاس اگزابایت با دسترسی بالا و افزونگی جهانی. Cloud Storage for Firebase به شما امکان میدهد این فایلها را مستقیماً از دستگاههای تلفن همراه و مرورگرهای وب به طور ایمن آپلود کنید و شبکههای پراکنده را به راحتی مدیریت کنید.
قبل از اینکه شروع کنی
اگر هنوز این کار را نکردهاید، مطمئن شوید که راهنمای شروع به کار برای برنامههای وب را تکمیل کردهاید. این شامل موارد زیر است:
ایجاد یک پروژه فایربیس
ثبت برنامه وب خود در پروژه و اتصال برنامه به Firebase با اضافه کردن Firebase JS SDK و شیء پیکربندی Firebase به برنامه.
مطمئن شوید که پروژه Firebase شما در طرح قیمتگذاری Blaze با پرداخت به ازای استفاده قرار دارد، که الزامی است که از اکتبر 2024 آغاز شده است (به سوالات متداول ما مراجعه کنید). اگر در Firebase و Google Cloud تازهکار هستید، بررسی کنید که آیا واجد شرایط دریافت اعتبار 300 دلاری هستید یا خیر.
یک سطل Cloud Storage پیشفرض ایجاد کنید
از پنل ناوبری کنسول Firebase ، گزینه Storage را انتخاب کنید.
اگر پروژه شما هنوز در طرح قیمتگذاری پرداخت در محل Blaze قرار ندارد، از شما خواسته میشود پروژه خود را ارتقا دهید.
روی شروع به کار کلیک کنید.
مکانی را برای سطل پیشفرض خود انتخاب کنید.
سطلها در
US-CENTRAL1،US-EAST1، وUS-WEST1میتواند از ردیف «همیشه رایگان» برای Google Cloud Storage استفاده کند. باکتها در سایر مکانها از قیمتگذاری و میزان استفاده Google Cloud Storage پیروی میکنند.اگر مایل باشید، میتوانید بعداً چندین سطل ایجاد کنید که هر کدام مکان خاص خود را دارند.
Firebase Security Rules برای باکت پیشفرض خود پیکربندی کنید. در طول توسعه، تنظیم قوانین برای دسترسی عمومی را در نظر بگیرید.
روی انجام شد کلیک کنید.
اکنون میتوانید سطل را در تب 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 ایجاد کنید .
تنظیمات پیشرفته
چند مورد استفاده وجود دارد که نیاز به تنظیمات اضافی دارند:
- استفاده از مخازن Cloud 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");
مراحل بعدی
برای راهاندازی برنامه خود آماده شوید:
فعال کردن App Check به شما کمک میکند تا مطمئن شوید فقط برنامههای شما میتوانند به حافظه ذخیرهسازی شما دسترسی داشته باشند.
هشدارهای بودجه را برای پروژه خود در کنسول Google Cloud تنظیم کنید.
داشبورد «استفاده و پرداخت» را در کنسول Firebase زیر نظر داشته باشید تا تصویری کلی از میزان استفاده پروژه خود در چندین سرویس Firebase داشته باشید. همچنین میتوانید برای اطلاعات دقیقتر در مورد میزان استفاده، از داشبورد « استفاده از Cloud Storage دیدن کنید.
چک لیست راه اندازی Firebase را مرور کنید.