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. Bulut Depolama, bu dosyaları doğrudan mobil cihazlardan ve web tarayıcılarından güvenli bir şekilde yüklemenize olanak tanır ve sivilceli ağları kolaylıkla ele alır.
Önkoşullar
- Firebase SDK'sını yükleyin .
- Uygulamanızı Firebase konsolunda Firebase projenize ekleyin.
Varsayılan bir Depolama paketi oluşturun
Firebase konsolunun gezinme bölmesinden Depolama'yı seçin ve ardından Başlayın'ı tıklayın.
Güvenlik kurallarını kullanarak Depolama verilerinizin güvenliğini sağlama hakkındaki mesajı inceleyin. Geliştirme sırasında, genel erişim için kurallarınızı oluşturmayı düşünün.
Varsayılan Depolama 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 oluşturulurken 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 .
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, Depolamaya 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, Depolamayı herkese, hatta uygulamanızı kullanmayanlara açık hale getirir; bu nedenle, kimlik doğrulamasını ayarlarken Depolamanızı yeniden kısıtladığınızdan emin olun.
Uygulamanıza Cloud Storage ekleyin
Cloud Storage bağımlılığını projenizin
Podfile
:pod 'Firebase/Storage'
pod install
çalıştırın ve oluşturulan.xcworkspace
dosyasını açın.
Cloud Storage'ı kurun
Herhangi bir Firebase referansı oluşturulmadan veya kullanılmadan önce Firebase'i başlatmanız gerekir. Bunu başka bir Firebase özelliği için zaten yaptıysanız bu adımı atlayabilirsiniz.
- Sizin de Firebase modülü içe
UIApplicationDelegate
:Swift
import Firebase
Amaç-C
@import Firebase;
- Genellikle uygulamanızın uygulamasında bir
FirebaseApp
paylaşılan örneği yapılandırınapplication:didFinishLaunchingWithOptions:
yöntem:Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Amaç-C
// Use Firebase library to configure APIs [FIRApp configure];
- Varsayılan Firebase Uygulamasını kullanarak depolama hizmeti için bir referans alın:
Swift
let storage = Storage.storage()
Amaç-C
FIRStorage *storage = [FIRStorage storage];
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:
- Birden çok coğrafi bölgede depolama paketleri kullanma
- Farklı depolama sınıflarında depolama paketleri kullanma
- Aynı uygulamada birden çok kimliği doğrulanmış kullanıcıyla depolama paketleri kullanma
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ılar için verileri depolamak üzere 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ı yedeklerini 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 depolama 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 izin veren 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 depolama kovası kullanın
Yukarıda sağlanan varsayılandan farklı bir depolama FIRStorage
kullanmak veya tek bir uygulamada birden çok depolama FIRStorage
kullanmak istiyorsanız, özel FIRStorage
referans veren bir FIRStorage
örneği oluşturabilirsiniz:
Swift
// Get a non-default Storage bucket storage = Storage.storage(url:"gs://my-custom-bucket")
Amaç-C
// Get a non-default Storage bucket FIRStorage storage = [FIRStorage storageWithURL:@"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 FirebaseApp
kullanarak daha karmaşık bir uygulama oluşturuyorsanız, o uygulamayla başlatılmış bir Storage
örneği oluşturabilirsiniz:
Swift
// Get the default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp) // Get a non-default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
Amaç-C
// Get the default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp]; // Get a non-default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
Sonraki adımlar
Uygulamanızı başlatmaya hazırlanın:
- Google Cloud konsolunda projeniz için bütçe uyarıları ayarlayın.
- Firebase konsolunda Kullanım ve faturalandırma kontrol panelinizi izleyin. Ayrıca Depolama Alanı Kullanımı panonuzu da izleyebilirsiniz.
- Firebase başlatma kontrol listesini inceleyin .