Cloud Storage برای Firebase به شما امکان میدهد محتوای تولید شده توسط کاربر، مانند تصاویر و ویدیو را آپلود و به اشتراک بگذارید، که به شما امکان میدهد محتوای رسانهای غنی را در برنامههای خود بسازید. دادههای شما در یک سطل Google Cloud Storage - یک راهحل ذخیرهسازی شی در مقیاس اگزابایت با در دسترس بودن بالا و افزونگی جهانی ذخیره میشود. Cloud Storage for Firebase به شما امکان میدهد این فایلها را مستقیماً از دستگاههای تلفن همراه و مرورگرهای وب بهطور ایمن آپلود کنید و به راحتی شبکههای ناقص را مدیریت کنید.
قبل از شروع
اگر قبلاً این کار را نکردهاید، مطمئن شوید که راهنمای شروع برنامههای Flutter را تکمیل کردهاید. این شامل:
ایجاد پروژه Firebase
نصب و راه اندازی SDK های Firebase برای Flutter.
مطمئن شوید که پروژه Firebase شما در برنامه قیمتگذاری Blaze است. اگر در Firebase و Google Cloud تازه کار هستید، بررسی کنید که آیا واجد شرایط دریافت اعتبار 300 دلاری هستید یا خیر.
یک سطل پیشفرض Cloud Storage ایجاد کنید
از صفحه پیمایش کنسول Firebase ، Storage را انتخاب کنید.
اگر پروژه شما هنوز در طرح قیمت گذاری Blaze به صورت پرداختی نیست، از شما خواسته می شود پروژه خود را ارتقا دهید.
روی Get start کلیک کنید.
مکانی را برای سطل پیش فرض خود انتخاب کنید.
سطل ها در
US-CENTRAL1
،US-EAST1
وUS-WEST1
میتواند از لایه «همیشه رایگان» برای Google Cloud Storage استفاده کند. سطلها در همه مکانهای دیگر از قیمت و استفاده Google Cloud Storage پیروی میکنند.اگر مایل هستید، میتوانید بعداً چندین سطل ایجاد کنید که هر کدام مکان خاص خود را دارند.
Firebase Security Rules را برای سطل پیش فرض خود پیکربندی کنید. در طول توسعه، قوانین خود را برای دسترسی عمومی تنظیم کنید .
روی Done کلیک کنید.
اکنون می توانید سطل را در برگه Cloud Storage Files کنسول Firebase مشاهده کنید. فرمت نام سطل پیش فرض شما این استPROJECT_ID .firebasestorage.app
.
دسترسی عمومی را تنظیم کنید
Cloud Storage برای Firebase یک زبان قواعد اعلامی ارائه میکند که به شما امکان میدهد نحوه ساختار دادههایتان، نحوه فهرستبندی و زمان خواندن و نوشتن دادههایتان را تعریف کنید. به طور پیشفرض، دسترسی خواندن و نوشتن به فضای ذخیرهسازی ابری محدود شده است، بنابراین فقط کاربران تأیید شده میتوانند دادهها را بخوانند یا بنویسند. برای شروع بدون تنظیم Firebase Authentication ، می توانید قوانین خود را برای دسترسی عمومی پیکربندی کنید .
این باعث میشود که فضای ذخیرهسازی ابری برای هر کسی باز شود، حتی افرادی که از برنامه شما استفاده نمیکنند، بنابراین هنگام تنظیم احراز هویت، مطمئن شوید که فضای ذخیرهسازی ابری خود را دوباره محدود کنید.
Cloud Storage SDK را به برنامه خود اضافه کنید
از ریشه پروژه Flutter خود، دستور زیر را برای نصب افزونه اجرا کنید:
flutter pub add firebase_storage
پس از تکمیل، برنامه Flutter خود را بازسازی کنید:
flutter run
افزونه را در کد دارت خود وارد کنید:
import 'package:firebase_storage/firebase_storage.dart';
Cloud Storage را راه اندازی کنید
flutterfire configure
از دایرکتوری پروژه Flutter خود اجرا کنید. این فایل پیکربندی Firebase (firebase_options.dart
) را در پایگاه کد برنامه شما بهروزرسانی میکند تا نام سطل Cloud Storage پیشفرض شما را داشته باشد.با ایجاد نمونه ای از
FirebaseStorage
به سطل فضای ذخیره سازی ابری خود دسترسی پیدا کنید:final storage = FirebaseStorage.instance; // Alternatively, explicitly specify the bucket name URL. // final storage = FirebaseStorage.instanceFor(bucket: "gs://<var>BUCKET_NAME</var>");
شما آماده شروع استفاده از فضای ذخیرهسازی ابری هستید!
مرحله بعدی؟ با نحوه ایجاد یک مرجع ذخیره سازی ابری آشنا شوید.
راه اندازی پیشرفته
چند مورد استفاده وجود دارد که نیاز به تنظیمات اضافی دارد:
- استفاده از سطل های ذخیره سازی ابری در چندین منطقه جغرافیایی
- استفاده از سطل های ذخیره سازی ابری در کلاس های ذخیره سازی مختلف
- استفاده از سطلهای ذخیرهسازی ابری با چندین کاربر احراز هویت شده در یک برنامه
اولین مورد استفاده اگر کاربرانی در سراسر جهان دارید و می خواهید داده های آنها را در نزدیکی آنها ذخیره کنید، عالی است. برای مثال، میتوانید در ایالات متحده، اروپا و آسیا سطلهایی ایجاد کنید تا دادهها را برای کاربران آن مناطق ذخیره کنید تا تأخیر را کاهش دهید.
مورد دوم اگر داده هایی با الگوهای دسترسی متفاوت دارید مفید است. به عنوان مثال: میتوانید یک سطل چند منطقهای یا منطقهای راهاندازی کنید که تصاویر یا سایر محتوایی که اغلب به آنها دسترسی دارند را ذخیره میکند، و یک سطل نزدیک یا سرد که پشتیبانگیریهای کاربر یا سایر محتوایی که بهندرت به آنها دسترسی دارند را ذخیره میکند.
در هر یک از این موارد استفاده، میخواهید از چند سطل ذخیرهسازی ابری استفاده کنید .
مورد سوم در صورتی مفید است که در حال ساختن برنامهای مانند Google Drive هستید که به کاربران امکان میدهد چندین حساب وارد شده (به عنوان مثال، یک حساب شخصی و یک حساب کاری) داشته باشند. می توانید از یک نمونه برنامه Firebase سفارشی برای احراز هویت هر حساب اضافی استفاده کنید .
از چند سطل Cloud Storage استفاده کنید
اگر میخواهید از یک سطل فضای ذخیرهسازی ابری غیر از سطل پیشفرض ارائهشده در بالا استفاده کنید، یا از چند سطل فضای ذخیرهسازی ابری در یک برنامه استفاده کنید، میتوانید نمونهای از FirebaseStorage
ایجاد کنید که به سطل سفارشی شما ارجاع دهد:
// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "gs://my-custom-bucket");
کار با سطل های وارداتی
هنگام وارد کردن یک سطل فضای ذخیره سازی ابری موجود به 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 سفارشی استفاده کنید
اگر با استفاده از FirebaseApp
سفارشی برنامه پیچیدهتری میسازید، میتوانید یک نمونه از FirebaseStorage
که با آن برنامه مقداردهی شده است ایجاد کنید:
// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);
مراحل بعدی
- برای راه اندازی برنامه خود آماده شوید:
- برای اطمینان از اینکه فقط برنامههای شما میتوانند به سطلهای ذخیرهسازی شما دسترسی داشته باشند، بررسی برنامه را فعال کنید.
- هشدارهای بودجه را برای پروژه خود در Google Cloud Console تنظیم کنید.
- داشبورد استفاده و صورتحساب را در کنسول Firebase نظارت کنید تا تصویری کلی از استفاده از پروژه خود در چندین سرویس Firebase داشته باشید. همچنین میتوانید برای اطلاعات بیشتر در مورد استفاده، از داشبورد استفاده از فضای ذخیرهسازی ابری دیدن کنید.
- چک لیست راه اندازی Firebase را مرور کنید.