Check out what’s new from Firebase at Google I/O 2022. Learn more

Admin Cloud Storage API'ye Giriş

Firebase için Cloud Storage, verilerinizi bir Google Cloud Storage paketinde depolar - yüksek kullanılabilirlik ve küresel yedekliliğe sahip, eksabayt ölçekli bir nesne depolama çözümü. Firebase Admin SDK, ayrıcalıklı ortamlardan Bulut Depolama paketlerinize doğrudan erişmenize olanak tanır. Ardından, paketlerde depolanan nesneleri işlemek için Google Cloud Storage API'lerini kullanabilirsiniz.

Varsayılan bir paket kullan

Yönetici SDK'sını başlatırken varsayılan bir paket adı belirtebilirsiniz. Ardından, bu kovaya kimliği doğrulanmış bir başvuru alabilirsiniz. Paket adı gs:// veya diğer protokol öneklerini içermemelidir. Örneğin, Firebase konsolunda görüntülenen paket 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 paketlerdeki içeriği yüklemek, indirmek ve değiştirmek için resmi Google Cloud Storage istemci kitaplıkları ile birlikte Yönetici SDK'sı tarafından döndürülen paket referanslarını kullanabilirsiniz. Firebase Admin SDK'sını kullanırken Google Cloud Storage kitaplıklarının kimliğini doğrulamanız gerekmediğini unutmayın. Yönetici SDK'sı tarafından döndürülen paket referanslarının kimliği, Firebase uygulamanızı başlatmak için kullanılan kimlik bilgileriyle zaten doğrulanmıştır.

Özel paketler kullanın

Yukarıda sağlanan varsayılandan farklı bir Cloud Storage paketi kullanmak veya tek bir uygulamada birden fazla Cloud Storage paketi kullanmak istiyorsanız, aşağıda gösterildiği gibi özel bir paket 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 Cloud Storage paketlerine aşağıdaki ş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 Bulut Depolama istemci kitaplıkları

Firebase Yönetici SDK'ları, Bulut Depolama erişimi sağlamak için Google Bulut Depolama istemci kitaplıklarına bağlıdır. Yönetici SDK'sı tarafından döndürülen paket referansları, bu kitaplıklarda tanımlanan nesnelerdir. Dosya yükleme ve indirme gibi kullanım durumlarında döndürülen paket 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.