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 çok 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 gruplarına 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 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.