Cloud Storage for Firebase به شما امکان میدهد محتواهایی مانند تصویر، صدا، ویدیو، و فایلهای دیگر (ازجمله محتوای تولیدشده توسط کاربر) را بارگذاری و همرسانی کنید، که به شما امکان میدهد محتوای رسانهای غنی در برنامههایتان بسازید. دادههای شما در یک Google Cloud Storage bucket ذخیره میشود — یک راهکار ذخیرهسازی شیء در مقیاس اگزابایت با دسترسی بالا و افزونگی جهانی. Cloud Storage for Firebase به شما امکان میدهد این فایلها را بهطور ایمن مستقیماً از دستگاههای همراه و مرورگرهای وب بارگذاری کنید و بهراحتی با شبکههای ناپایدار کنار بیایید.
قبل از شروع
اگر قبلاً این کار را نکردهاید، مطمئن شوید راهنمای شروع به کار برای برنامههای وب را تکمیل کردهاید. ازجمله:
درحال ایجاد پروژه Firebase.
ثبت کردن برنامه وب در پروژه، و متصل کردن برنامه به Firebase با افزودن کیت توسعه نرمافزار Firebase JS و شیء پیکربندی Firebase به برنامه.
مطمئن شوید پروژه Firebase شما در طرح قیمتگذاری Blaze پرداخت به اندازه استفاده باشد که برای استفاده از Cloud Storage for Firebase الزامی است. اگر Firebase و Google Cloud برایتان جدید است، بررسی کنید که آیا واجدشرایط اعتبار دوره آزمایشی رایگان ۳۰۰ دلاری هستید یا نه.
ایجاد سطل پیشفرض 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 را دوباره محدود کنید.
افزودن کیت توسعه نرمافزار JS Cloud Storage و مقداردهی اولیه Cloud Storage
هنگام مقداردهی اولیه کیت توسعه نرمافزار جاوا اسکریپت، باید نام دسته Cloud Storage خود را مشخص کنید.
میتوانید نام دسته Cloud Storage را در کنسول Firebase پیدا کنید (به برگه پایگاههای داده و فضای ذخیرهسازی > فضای ذخیرهسازی > فایلها بروید). بسته به اینکه چه زمانی دسته پیشفرضتان را ایجاد کرده باشید، نام دسته در یکی از قالبهای زیر خواهد بود:
-
(مخزن پیشفرض ایجادشده در یا بعدازPROJECT_ID.firebasestorage.appسپتامبر ۲۰۲۴ ) -
(سبد پیشفرض قدیمی قبلازPROJECT_ID.appspot.comسپتامبر ۲۰۲۴ ایجاد شده است)
کیت توسعه نرمافزار را بااستفاده از تکهکد زیر مقداردهی اولیه کنید:
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 گنجانده شده است، بدهید:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
میتوانید شماره پروژهتان را همانطور که در مقدمهای بر پروژههای Firebase شرح داده شده است پیدا کنید.
این موضوع بر دستههای جدیداً ایجادشده تأثیر نمیگذارد، زیرا آنها دارای کنترل دسترسی پیشفرض تنظیمشده برای مجاز کردن Firebase هستند. این اقدامی موقتی است و در آینده بهطور خودکار انجام خواهد شد.
استفاده از Firebase App سفارشی
اگر بااستفاده از 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 را مرور کنید.