Cloud Storage for Firebase, kullanıcı tarafından oluşturulan içerikleri (ör. resim ve video) yükleyip paylaşmanıza olanak tanır. Bu sayede uygulamalarınıza rich media içerikleri ekleyebilirsiniz. Verileriniz, yüksek kullanılabilirlik ve küresel yedekliliğe sahip, exabyte ölçeğinde bir nesne depolama çözümü olan Google Cloud Storage adlı depolama alanında saklanır. Cloud Storage for Firebase, bu dosyaları doğrudan mobil cihazlardan ve web tarayıcılarından güvenli bir şekilde yüklemenize olanak tanır. Ayrıca, düzensiz ağları kolayca yönetmenizi sağlar.
Başlamadan önce
Cloud Storage özelliğini kullanabilmek için:
C++ projenizi kaydedin ve Firebase'i kullanacak şekilde yapılandırın.
C++ projeniz Firebase'i kullanıyorsa Firebase için zaten kaydedilmiş ve yapılandırılmıştır.
C++ projenize Firebase C++ SDK'sını ekleyin.
Firebase'i C++ projenize eklemek için hem Firebase konsolda hem de açık C++ projenizde görevler yapmanız gerektiğini unutmayın (örneğin, Firebase yapılandırma dosyalarını konsoldan indirip C++ projenize taşırsınız).
Ayrıca, Firebase projenizin Cloud Storage for Firebase özelliğini kullanmak için gerekli olan kullandıkça öde Blaze fiyatlandırma planında olduğundan emin olun. Firebase ve Google Cloud'i kullanmaya yeni başladıysanız 300 ABD doları değerinde ücretsiz deneme kredisi almaya uygun olup olmadığınızı kontrol edin.
Varsayılan Cloud Storage paketi oluşturma
Firebase konsolunda Veritabanları ve Depolama > Depolama'ya gidin.
Projeniz henüz kullandıkça öde Blaze fiyatlandırma planında değilse projenizi yükseltmeniz istenir.
Başlayın'ı tıklayın.
Varsayılan paketinize bir konum seçin.
,US-CENTRAL1 veUS-EAST1 'deki paketler, Google Cloud Storage için "Her Zaman Ücretsiz" katmanından yararlanabilir. Diğer tüm konumlardaki paketler Google Cloud Storage fiyatlandırma ve kullanıma tabidir.US-WEST1Dilerseniz daha sonra her biri kendi konumuna sahip birden fazla paket oluşturabilirsiniz.
Varsayılan paketinize yönelik Firebase Security Rules yapılandırın. Geliştirme sırasında kurallarınızı herkese açık erişime göre ayarlamayı düşünebilirsiniz.
Bitti'yi tıklayın.
Artık paketi Firebase konsolunda görüntüleyebilirsiniz (Veritabanları ve Depolama > Depolama > Dosyalar sekmesine gidin).
Varsayılan paket adı biçiminiz PROJECT_ID.firebasestorage.app
Herkese açık erişimi ayarlama
Cloud Storage for Firebase, verilerinizin nasıl yapılandırılması, nasıl dizine eklenmesi ve ne zaman okunup yazılması gerektiğini tanımlamanıza olanak tanıyan bildirimsel bir kural dili sağlar. Varsayılan olarak, Cloud Storage için okuma ve yazma erişimi kısıtlanır. Böylece yalnızca kimliği doğrulanmış kullanıcılar veri okuyabilir veya yazabilir. Authentication'ı ayarlamadan başlamak için kurallarınızı herkese açık erişim için yapılandırabilirsiniz.
Bu işlem, Cloud Storage uygulamanızı kullanmayanlar da dahil olmak üzere herkesin erişimine açar. Bu nedenle, kimlik doğrulama ayarlarını yaparken Cloud Storage erişimini tekrar kısıtladığınızdan emin olun.
firebase::App oluşturma ve başlatma
Cloud Storage'ya erişebilmek için firebase::App oluşturup başlatmanız gerekir.
firebase::App için üstbilgi dosyasını ekleyin:
#include "firebase/app.h"
Android
JNI ortamını ve Java etkinliğine yönelik bir jobject referansını bağımsız değişken olarak ileterek firebase::App oluşturun:
app = App::Create(AppOptions(), jni_env, activity);
iOS+
firebase::App oluşturun:
app = App::Create(AppOptions());
firebase::storage::Storage sınıfına erişme
firebase::storage::Storage
sınıfı, Cloud Storage C++ SDK'sının giriş noktasıdır.
Storage* storage = Storage::GetInstance(app);
Cloud Storage kullanmaya başlayabilirsiniz.
Sonraki adım? Cloud Storage referansı oluşturmayı öğrenin.
Gelişmiş kurulum
Ek kurulum gerektiren birkaç kullanım alanı vardır:
- Birden fazla coğrafi bölgede Cloud Storage paketlerini kullanma
- Farklı depolama sınıflarında Cloud Storage paketlerini kullanma
- Aynı uygulamada birden fazla kimliği doğrulanmış kullanıcıyla Cloud Storage kümelerini kullanma
Dünyanın dört bir yanından kullanıcılarınız varsa ve verilerini onlara yakın bir yerde depolamak istiyorsanız ilk kullanım alanı idealdir. Örneğin, gecikmeyi azaltmak için bu bölgelerdeki kullanıcıların verilerini depolamak üzere ABD, Avrupa ve Asya'da paketler oluşturabilirsiniz.
İkinci kullanım alanı, farklı erişim kalıplarına sahip verileriniz varsa yararlıdır. Örneğin: Resimleri veya sık erişilen diğer içerikleri depolayan çok bölgeli ya da bölgesel bir bucket ve kullanıcı yedeklerini veya seyrek erişilen diğer içerikleri depolayan nearline ya da coldline bir bucket oluşturabilirsiniz.
Bu kullanım alanlarının her ikisinde de birden fazla Cloud Storage grubu kullanmak isteyeceksiniz.
Üçüncü kullanım alanı, kullanıcıların birden fazla oturum açmış hesabı (ör. kişisel hesap ve iş hesabı) olmasını sağlayan Google Drive gibi bir uygulama oluşturuyorsanız kullanışlıdır. Eklenen her hesabı kimlik doğrulamak için özel bir Firebase uygulaması örneği kullanabilirsiniz.
Birden fazla Cloud Storage grubu kullanma
Yukarıda belirtilen varsayılan dışında bir Cloud Storage grubu kullanmak veya tek bir uygulamada birden fazla Cloud Storage grubu kullanmak istiyorsanız özel grubunuza referans veren bir firebase::storage::Storage örneği oluşturabilirsiniz:
// Get a non-default Cloud Storage bucket Storage* storage = Storage::GetInstance("gs://my-custom-bucket");
İçe aktarılan paketlerle çalışma
Mevcut bir Cloud Storage grubu Firebase'e aktarırken Google Cloud SDK'sında bulunan gsutil aracını kullanarak Firebase'e bu dosyalara erişme izni vermeniz gerekir:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
Proje numaranızı Firebase projelerine giriş bölümünde açıklandığı şekilde bulabilirsiniz.
Bu durum, varsayılan erişim denetimi Firebase'e izin verecek şekilde ayarlandığından yeni oluşturulan paketleri etkilemez. Bu işlem geçici bir çözümdür ve gelecekte otomatik olarak gerçekleştirilecektir.
Özel bir Firebase uygulaması kullanma
Özel bir firebase::App kullanarak daha karmaşık bir uygulama oluşturuyorsanız bu uygulamayla başlatılan bir firebase::storage::Storage örneği oluşturabilirsiniz:
// 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");
Sonraki adımlar
Uygulamanızı kullanıma sunmaya hazırlanma:
- Google Cloud konsolunda projeniz için bütçe uyarıları ayarlayın.
- Projenizin birden fazla Firebase hizmetindeki kullanımına dair genel bir resim elde etmek için Firebase konsolundaki Kullanım ve faturalandırma kontrol panelini izleyin. Daha ayrıntılı kullanım bilgileri için Cloud Storage Kullanım kontrol panelini de ziyaret edebilirsiniz.
- Firebase lansman kontrol listesini inceleyin.