Firebase is back at Google I/O on May 10! Register now

Admin Cloud Storage API'ye Giriş

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Firebase için Cloud Storage, verilerinizi, yüksek kullanılabilirliğe ve küresel yedekliliğe sahip, eksabayt ölçekli bir nesne depolama çözümü olan bir Google Cloud Storage grubunda depolar. Firebase Admin SDK, Cloud Storage klasörlerinize ayrıcalıklı ortamlardan doğrudan erişmenizi sağlar. Ardından, klasörlerde depolanan nesneleri değiştirmek için Google Bulut Depolama API'lerini kullanabilirsiniz.

Varsayılan bir paket kullan

Admin SDK'yı başlatırken varsayılan bir grup adı belirleyebilirsiniz. Ardından, bu grup için kimliği doğrulanmış bir referans alabilirsiniz. Grup adı, gs:// veya başka herhangi bir protokol öneki içermemelidir. Örneğin, Firebase konsolunda görüntülenen grup URL'si gs://bucket-name.appspot.com ise, bucket-name.appspot.com dizesini Yönetici SDK'sına iletin.

Node.js

const { initializeApp, cert } = require('firebase-admin/app');
const { getStorage } = require('firebase-admin/storage');

const serviceAccount = require('./path/to/serviceAccountKey.json');

initializeApp({
  credential: cert(serviceAccount),
  storageBucket: '<BUCKET_NAME>.appspot.com'
});

const bucket = getStorage().bucket();

// 'bucket' is an object defined in the @google-cloud/storage library.
// See https://googlecloudplatform.github.io/google-cloud-node/#/docs/storage/latest/storage/bucket
// for more details.

java

FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");

FirebaseOptions options = FirebaseOptions.builder()
    .setCredentials(GoogleCredentials.fromStream(serviceAccount))
    .setStorageBucket("<BUCKET_NAME>.appspot.com")
    .build();
FirebaseApp.initializeApp(options);

Bucket bucket = StorageClient.getInstance().bucket();

// 'bucket' is an object defined in the google-cloud-storage Java library.
// See http://googlecloudplatform.github.io/google-cloud-java/latest/apidocs/com/google/cloud/storage/Bucket.html
// for more details.

Piton

import firebase_admin
from firebase_admin import credentials
from firebase_admin import storage

cred = credentials.Certificate('path/to/serviceAccountKey.json')
firebase_admin.initialize_app(cred, {
    'storageBucket': '<BUCKET_NAME>.appspot.com'
})

bucket = storage.bucket()

# 'bucket' is an object defined in the google-cloud-storage Python library.
# See https://googlecloudplatform.github.io/google-cloud-python/latest/storage/buckets.html
# for more details.

Gitmek

import (
	"context"
	"log"

	firebase "firebase.google.com/go/v4"
	"firebase.google.com/go/v4/auth"
	"google.golang.org/api/option"
)

config := &firebase.Config{
	StorageBucket: "<BUCKET_NAME>.appspot.com",
}
opt := option.WithCredentialsFile("path/to/serviceAccountKey.json")
app, err := firebase.NewApp(context.Background(), config, opt)
if err != nil {
	log.Fatalln(err)
}

client, err := app.Storage(context.Background())
if err != nil {
	log.Fatalln(err)
}

bucket, err := client.DefaultBucket()
if err != nil {
	log.Fatalln(err)
}
// 'bucket' is an object defined in the cloud.google.com/go/storage package.
// See https://godoc.org/cloud.google.com/go/storage#BucketHandle
// for more details.

Firebase projelerinizle ilişkili klasörlerdeki içeriği yüklemek, indirmek ve değiştirmek için Admin SDK tarafından döndürülen grup referanslarını resmi Google Cloud Storage istemci kitaplıklarıyla birlikte kullanabilirsiniz. Firebase Admin SDK'yı kullanırken Google Cloud Storage kitaplıklarının kimliğini doğrulamanız gerekmediğini unutmayın. Admin SDK tarafından döndürülen grup referanslarının kimliği, Firebase uygulamanızı başlatmak için kullanılan kimlik bilgileriyle zaten doğrulanmıştır.

Özel paketler kullan

Yukarıda sağlanan varsayılandan farklı bir Bulut Depolama grubu kullanmak veya tek bir uygulamada birden fazla Bulut Depolama grubu kullanmak istiyorsanız, aşağıda gösterildiği gibi özel bir grup referansı alabilirsiniz:

Node.js

const bucket = getStorage().bucket('my-custom-bucket');

java

Bucket bucket = StorageClient.getInstance().bucket("my-custom-bucket");

Piton

bucket = storage.bucket('my-custom-bucket')

Gitmek

 bucket, err := client.Bucket("my-custom-bucket")

Özel bir Firebase uygulaması kullanın

Birden çok Firebase uygulamasıyla etkileşime giren daha karmaşık bir uygulama oluşturuyorsanız, belirli bir Firebase uygulamasıyla ilişkili Bulut Depolama paketlerine şu şekilde erişebilirsiniz:

Node.js

const bucket = getStorage(customApp).bucket();

java

Bucket bucket = StorageClient.getInstance(customApp).bucket();

Piton

bucket = storage.bucket(app=custom_app)

Gitmek

otherClient, err := otherApp.Storage(context.Background())
bucket, err := otherClient.Bucket("other-app-bucket")

Google Cloud Storage istemci kitaplıkları

Firebase Admin SDK'ları, Cloud Storage erişimi sağlamak için Google Cloud Storage istemci kitaplıklarına bağlıdır. Admin SDK tarafından döndürülen grup referansları, bu kitaplıklarda tanımlanan nesnelerdir. Dosya yükleme ve indirme gibi kullanım durumlarında döndürülen grup referanslarının nasıl kullanılacağını öğrenmek için Google Bulut Depolama istemci kitaplıklarının belgelerine ve API referanslarına bakın.