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

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

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

قبل از اینکه بتوانید از Cloud Storage استفاده کنید، باید:

  • پروژه ++C خود را ثبت کنید و آن را برای استفاده از Firebase پیکربندی کنید.

    اگر پروژه ++C شما از قبل از Firebase استفاده می‌کند، پس از قبل برای Firebase ثبت و پیکربندی شده است.

  • کیت توسعه نرم‌افزاری Firebase C++ را به پروژه C++ خود اضافه کنید.

توجه داشته باشید که اضافه کردن Firebase به پروژه C++ شما شامل وظایفی هم در کنسول Firebase و هم در پروژه C++ باز شما می‌شود (برای مثال، شما فایل‌های پیکربندی Firebase را از کنسول دانلود می‌کنید، سپس آنها را به پروژه C++ خود منتقل می‌کنید).

همچنین، مطمئن شوید که پروژه 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 خود را دوباره محدود کنید.

ایجاد و مقداردهی اولیه firebase::App

قبل از اینکه بتوانید به Cloud Storage دسترسی پیدا کنید، باید firebase::App را ایجاد و مقداردهی اولیه کنید.

فایل هدر مربوط به firebase::App اضافه کنید:

#include "firebase/app.h"

اندروید

firebase::App را ایجاد کنید و محیط JNI و یک ارجاع jobject را به عنوان آرگومان به Java Activity ارسال کنید:

app = App::Create(AppOptions(), jni_env, activity);

آی‌او‌اس+

ایجاد firebase::App :

app = App::Create(AppOptions());

به کلاس firebase::storage::Storage دسترسی پیدا کنید

کلاس firebase::storage::Storage نقطه ورود به SDK مربوط به Cloud Storage C++ است.

Storage* storage = Storage::GetInstance(app);

شما آماده‌اید تا از Cloud Storage استفاده کنید!

مرحله بعدی؟ یاد بگیرید که چگونه یک مرجع Cloud Storage ایجاد کنید .

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

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

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

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

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

مورد سوم در صورتی مفید است که در حال ساخت برنامه‌ای مانند گوگل درایو باشید که به کاربران اجازه می‌دهد چندین حساب کاربری (مثلاً یک حساب شخصی و یک حساب کاری) داشته باشند. می‌توانید از یک نمونه برنامه سفارشی Firebase برای تأیید اعتبار هر حساب اضافی استفاده کنید .

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

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

// Get a non-default Cloud Storage bucket
Storage* storage = Storage::GetInstance("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 سفارشی هستید، می‌توانید یک نمونه از firebase::storage::Storage که با آن برنامه مقداردهی اولیه شده است، ایجاد کنید:

// Get the default bucket from a custom firebase::App
Storage* storage = Storage::GetInstance(customApp);

// Get a non-default bucket from a custom firebase::App
Storage* storage = Storage::GetInstance(customApp, "gs://my-custom-bucket");

مراحل بعدی