Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

C ++ için Cloud Storage'ı kullanmaya başlayın

Firebase için Bulut Depolama, uygulamalarınızda zengin medya içeriği oluşturmanıza olanak tanıyan, görüntü ve video gibi kullanıcı tarafından oluşturulan içeriği yüklemenize ve paylaşmanıza olanak tanır. Verileriniz, yüksek kullanılabilirlik ve küresel yedekliğe sahip eksabayt ölçekli bir nesne depolama çözümü olan Google Cloud Storage paketinde depolanır. Firebase için Cloud Storage, bu dosyaları doğrudan mobil cihazlardan ve web tarayıcılarından güvenli bir şekilde yüklemenize olanak tanıyarak sivilceli ağları kolaylıkla yönetmenize olanak tanır.

Sen başlamadan önce

Cloud Storage'ı kullanmadan önce yapmanız gerekenler:

  • C ++ projenizi kaydedin ve Firebase'i kullanacak şekilde yapılandırın.

    C ++ projeniz zaten Firebase kullanıyorsa, zaten kaydedilmiş ve Firebase için yapılandırılmış demektir.

  • Firebase C ++ SDK'sını C ++ projenize ekleyin.

Firebase'i C ++ projenize eklemenin hem Firebase konsolunda hem de açık C ++ projenizde görevler içerdiğini unutmayın (örneğin, Firebase yapılandırma dosyalarını konsoldan indirir, ardından bunları C ++ projenize taşırsınız).

Varsayılan bir Cloud Storage paketi oluşturun

  1. Firebase konsolunun gezinme bölmesinden Depolama'yı seçin ve ardından Başlayın'ı tıklayın.

  2. Güvenlik kuralları kullanarak Bulut Depolama verilerinizin güvenliğini sağlamayla ilgili mesajı inceleyin. Geliştirme sırasında, genel erişim için kurallarınızı oluşturmayı düşünün.

  3. Varsayılan Cloud Storage paketiniz için bir konum seçin.

    • Bu konum ayarı, projenizin varsayılan Google Cloud Platform (GCP) kaynak konumudur . Bu konumun, projenizde özellikle Cloud Firestore veritabanınız ve App Engine uygulamanız (Cloud Scheduler kullanıyorsanız gereklidir) olmak üzere bir konum ayarı gerektiren GCP hizmetleri için kullanılacağını unutmayın.

    • Konum seçemiyorsanız, projenizde zaten varsayılan bir GCP kaynak konumu vardır. Ya proje yaratılırken ya da bir konum ayarı gerektiren başka bir hizmet kurulurken ayarlandı.

    Blaze planındaysanız, her biri kendi konumuna sahip birden çok kova oluşturabilirsiniz .

  4. Bitti'yi tıklayın.

Genel erişimi ayarlayın

Firebase için Cloud Storage, verilerinizin nasıl yapılandırılması gerektiğini, nasıl dizine eklenmesi gerektiğini ve verilerinizin ne zaman okunup yazılabileceğini tanımlamanıza olanak tanıyan açıklayıcı bir kural dili sağlar. Varsayılan olarak, Cloud Storage'a okuma ve yazma erişimi kısıtlanmıştır, bu nedenle yalnızca kimliği doğrulanmış kullanıcılar verileri okuyabilir veya yazabilir. Kimlik Doğrulamayı ayarlamadan başlamak için, kurallarınızı genel erişim için yapılandırabilirsiniz .

Bu, Bulut Depolamayı herkese, hatta uygulamanızı kullanmayanlara bile açık hale getirir; bu nedenle, kimlik doğrulamasını ayarlarken Bulut Depolamanızı yeniden kısıtladığınızdan emin olun.

firebase::App oluşturun ve firebase::App

Bulut Depolamaya erişmeden önce firebase::App oluşturmanız ve başlatmanız gerekir.

firebase::App için başlık dosyasını ekleyin:

#include "firebase/app.h"

Android

JNI ortamını ve Java Etkinliğine bir iş jobject başvurusunu bağımsız değişken olarak ileterek firebase::App oluşturun:

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

iOS

firebase::App :

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

firebase::storage::Storage sınıfına erişin

firebase::storage::Storage sınıfı, Cloud Storage C ++ SDK için giriş noktasıdır.

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

Cloud Storage'ı kullanmaya hazırsınız!

Öncelikle, bir Bulut Depolama referansı oluşturmayı öğrenelim.

Gelişmiş kurulum

Ek kurulum gerektiren birkaç kullanım durumu vardır:

Dünyanın her yerinden kullanıcılarınız varsa ve verilerini yanlarında depolamak istiyorsanız, ilk kullanım örneği mükemmeldir. Örneğin, gecikmeyi azaltmak için bu bölgelerdeki kullanıcılara veri depolamak için ABD, Avrupa ve Asya'da paketler oluşturabilirsiniz.

İkinci kullanım örneği, farklı erişim modellerine sahip verileriniz varsa faydalıdır. Örneğin: resimleri veya diğer sık ​​erişilen içeriği depolayan çok bölgeli veya bölgesel bir paket ve kullanıcı yedeklemelerini veya diğer nadiren erişilen içeriği depolayan bir nearline veya soğuk hat grubu oluşturabilirsiniz.

Bu kullanım durumlarından herhangi birinde, birden çok Cloud Storage paketi kullanmak isteyeceksiniz.

Üçüncü kullanım örneği, Google Drive gibi, kullanıcıların birden çok oturum açmış hesabına (örneğin, bir kişisel hesap ve bir iş hesabı) sahip olmasına olanak tanıyan bir uygulama oluşturuyorsanız kullanışlıdır. Her ek hesabın kimliğini doğrulamak için özel bir Firebase Uygulaması örneği kullanabilirsiniz.

Birden çok Cloud Storage paketi kullanın

Yukarıda sağlanan varsayılanın dışında bir Cloud Storage firebase::storage::Storage kullanmak veya tek bir uygulamada birden çok Cloud Storage firebase::storage::Storage istiyorsanız, özel firebase::storage::Storage 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 kovalarla çalışma

Mevcut bir Cloud Storage paketini Firebase'e aktarırken, gsutil Google Cloud SDK'da bulunan gsutil aracını kullanarak bu dosyalara erişim izni vermeniz gerekir:

gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

Proje numaranızı Firebase projelerine giriş bölümünde açıklandığı gibi bulabilirsiniz.

Bu, yeni oluşturulan paketleri etkilemez, çünkü bunlar Firebase'e izin verecek şekilde varsayılan erişim kontrolüne sahiptir. Bu geçici bir önlemdir ve gelecekte otomatik olarak uygulanacaktır.

Özel bir Firebase Uygulaması kullanın

Ö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