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

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

پیش نیازها

اگر قبلاً این کار را نکرده‌اید، Firebase JS SDK را نصب کنید و Firebase را مقداردهی اولیه کنید.

یک سطل ذخیره سازی ابری پیش فرض ایجاد کنید

  1. از صفحه پیمایش کنسول Firebase ، Storage را انتخاب کنید، سپس روی شروع به کار کلیک کنید.

  2. پیام‌های مربوط به ایمن کردن داده‌های فضای ذخیره‌سازی ابری خود را با استفاده از قوانین امنیتی مرور کنید. در طول توسعه، قوانین خود را برای دسترسی عمومی تنظیم کنید .

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

    • این تنظیم مکان، مکان منبع پیش‌فرض Google Cloud Platform (GCP) پروژه شما است. توجه داشته باشید که این مکان برای سرویس‌های GCP در پروژه شما استفاده می‌شود که به تنظیمات مکان نیاز دارند، به‌ویژه پایگاه داده Cloud Firestore و برنامه App Engine شما (که در صورت استفاده از Cloud Scheduler لازم است).

    • اگر نمی‌توانید مکانی را انتخاب کنید، پروژه شما از قبل دارای یک مکان منبع GCP پیش‌فرض است. در حین ایجاد پروژه یا هنگام راه‌اندازی سرویس دیگری که نیاز به تنظیم مکان دارد تنظیم شده است.

    اگر در طرح Blaze هستید، می توانید سطل های متعددی ایجاد کنید که هر کدام مکان خاص خود را دارند.

  4. روی Done کلیک کنید.

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

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

این باعث می‌شود که فضای ذخیره‌سازی ابری برای هر کسی باز شود، حتی افرادی که از برنامه شما استفاده نمی‌کنند، بنابراین هنگام تنظیم احراز هویت، مطمئن شوید که فضای ذخیره‌سازی ابری خود را دوباره محدود کنید.

URL سطل خود را به برنامه خود اضافه کنید

اگر قبلاً شامل نشده است، باید URL سطل فضای ذخیره‌سازی ابری خود را به شی پیکربندی برنامه Firebase خود اضافه کنید.

  1. به داشبورد Storage خود در کنسول Firebase بروید.

  2. روی تب Files کلیک کنید، سپس به سربرگ نمایشگر فایل نگاه کنید.

  3. URL را در کلیپ بورد خود کپی کنید. معمولاً به شکل project-id .appspot.com است.

  4. به شی firebaseConfig در برنامه خود، ویژگی storageBucket را با URL سطل خود اضافه کنید:

Web version 9

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);

Web version 8

import firebase from "firebase/app";
import "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: '[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 سفارشی برای احراز هویت هر حساب اضافی استفاده کنید.

از چند سطل Cloud Storage استفاده کنید

اگر می‌خواهید از یک سطل فضای ذخیره‌سازی ابری غیر از سطل پیش‌فرض ارائه‌شده در بالا استفاده کنید، یا از چندین سطل فضای ذخیره‌سازی ابری در یک برنامه استفاده کنید، می‌توانید نمونه‌ای از firebase.storage ایجاد کنید که به سطل سفارشی شما ارجاع دهد:

Web version 9

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 version 8

// Get a non-default Storage bucket
var storage = firebase.app().storage("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 سفارشی استفاده کنید

اگر با استفاده از firebase.app.App سفارشی برنامه پیچیده‌تری می‌سازید، می‌توانید نمونه‌ای از firebase.storage.Storage که با آن برنامه مقداردهی شده است ایجاد کنید:

Web version 9

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 version 8

// 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");

مراحل بعدی