Web'de Cloud Storage'ı kullanmaya başlama

Cloud Storage for Firebase; resim, ses, video ve diğer dosyalar (kullanıcı tarafından oluşturulan içerikler dahil) gibi içerikleri yükleyip paylaşmanıza olanak tanır. Bu sayede uygulamalarınıza rich media içerikleri ekleyebilirsiniz. Verileriniz, yüksek kullanılabilirlik ve global yedeklilik sunan eksabayt ölçekli bir nesne depolama çözümü olan Google Cloud Storage paketinde depolanı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 ve kesintili ağları kolayca yönetir.

Başlamadan önce

  1. Henüz yapmadıysanız web uygulamaları için başlangıç kılavuzunu tamamladığınızdan emin olun. Bunlardan bazıları:

    • Firebase projesi oluşturma

    • Web uygulamanızı projeye kaydetme ve Firebase JS SDK'sı ile Firebase yapılandırma nesnenizi uygulamanıza ekleyerek uygulamanızı Firebase'e bağlama

  2. Firebase projenizin kullandıkça öde Blaze fiyatlandırma planında olduğundan emin olun. Cloud Storage for Firebase hizmetini kullanmak için bu plan gereklidir. Firebase ve Google Cloud'i kullanmaya yeni başladıysanız 300 ABD doları değerinde ücretsiz deneme kredisi için uygun olup olmadığınızı kontrol edin.

Varsayılan Cloud Storage paketi oluşturma

  1. Firebase konsolunda Databases & Storage (Veritabanları ve Depolama) > Storage'a (Depolama) gidin.

    Projeniz henüz kullandıkça öde Blaze fiyatlandırma planında değilse projenizi yükseltmeniz istenir.

  2. Başlayın'ı tıklayın.

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

  4. Varsayılan paketiniz için Firebase Security Rules yapılandırın. Geliştirme aşamasında, kurallarınızı herkese açık erişim için ayarlayabilirsiniz.

  5. Bitti'yi tıklayın.

Artık paketi Firebase konsolunda görüntüleyebilirsiniz (Databases & Storage > Storage > Files sekmesine gidin). Varsayılan paket adı biçiminiz PROJECT_ID.firebasestorage.app şeklindedir.

Genel erişimi ayarlama

Cloud Storage for Firebase, verilerinizin nasıl yapılandırılması ve dizine eklenmesi gerektiğini, 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 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 herkese açık hale getirir. Bu nedenle, kimlik doğrulamayı ayarlarken Cloud Storage uygulamanızı tekrar kısıtladığınızdan emin olun.

Cloud Storage JS SDK'sını ekleyin ve Cloud Storage'i başlatın

JavaScript SDK'sını başlatırken Cloud Storage paketinizin adını belirtmeniz gerekir.

Cloud Storage paketinizin adını Firebase konsolunda bulabilirsiniz (Databases & Storage > Storage > Files sekmesine gidin). Varsayılan paketinizi ne zaman oluşturduğunuza bağlı olarak paket adı aşağıdaki biçimlerden birinde olur:

  • PROJECT_ID.firebasestorage.app (Eylül 2024'te veya daha sonra oluşturulan varsayılan paket)
  • PROJECT_ID.appspot.com (Eylül 2024'ten önce oluşturulan eski varsayılan paket)

Aşağıdaki kod snippet'ini kullanarak SDK'yı başlatın:

Web

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: 'BUCKET_NAME'
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);


// Initialize Cloud Storage and get a reference to the service
const storage = getStorage(app);

Web

import firebase from "firebase/app";
import "firebase/compat/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: 'BUCKET_NAME'
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Initialize Cloud Storage and get a reference to the service
const storage = firebase.storage();

Cloud Storage uygulamasını kullanmaya hazırsınız.

Sonraki adım ne? Cloud Storage referansı oluşturma hakkında bilgi edinin.

Gelişmiş kurulum

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

İlk kullanım alanı, dünyanın her yerinde kullanıcılarınız varsa ve verilerini onlara yakın bir yerde depolamak istiyorsanız idealdir. Örneğin, gecikmeyi azaltmak amacıyla ABD, Avrupa ve Asya'daki kullanıcıların verilerini depolamak için bu bölgelerde paketler oluşturabilirsiniz.

İkinci kullanım alanı, farklı erişim kalıplarına sahip verileriniz varsa faydalıdır. Örneğin, resimleri veya sık erişilen diğer içerikleri depolayan çok bölgeli ya da bölgesel bir paket ve kullanıcı yedeklerini veya seyrek erişilen diğer içerikleri depolayan bir Nearline ya da Coldline paketi oluşturabilirsiniz.

Bu kullanım alanlarından birinde birden fazla Cloud Storage paketi kullanmanız gerekir.

Üçüncü kullanım alanı, Google Drive gibi kullanıcıların birden fazla hesapta (ör. kişisel hesap ve iş hesabı) oturum açmasına olanak tanıyan bir uygulama geliştiriyorsanız kullanışlıdır. Her ek hesabın kimliğini doğrulamak için özel bir Firebase uygulaması örneği kullanabilirsiniz.

Birden fazla Cloud Storage paketi kullanma

Bu kılavuzda daha önce açıklanan varsayılan Cloud Storage paketi dışında bir paket kullanmak veya tek bir uygulamada birden fazla Cloud Storage paketi kullanmak istiyorsanız özel paketinize referans veren bir firebase.storage örneği oluşturabilirsiniz:

Web

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

// Get a non-default Storage bucket
var storage = firebase.app().storage("gs://my-custom-bucket");

İçe aktarılan paketlerle çalışma

Mevcut bir Cloud Storage paketini Firebase'e aktarırken Google Cloud SDK'da bulunan gsutil aracını kullanarak Firebase'e bu dosyalara erişme yetkisi 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 geçici bir önlemdir ve gelecekte otomatik olarak gerçekleştirilecektir.

Özel bir Firebase uygulaması kullanma

Özel bir firebase.app.App kullanarak daha karmaşık bir uygulama geliştiriyorsanız bu uygulamayla başlatılan bir firebase.storage.Storage örneği oluşturabilirsiniz:

Web

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

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

Sonraki adımlar