Admin Cloud Storage API'ye giriş

Cloud Storage for Firebase, verilerinizi şurada depolar: Google Cloud Storage paketi — bir yüksek kullanılabilirlik ve global boyut sunan eksabayt ölçekli nesne depolama çözümü İşten çıkarma Firebase Admin SDK, doğrudan Ayrıcalıklı ortamlardan Cloud Storage paket. Ardından, gruplarda depolanan nesneleri değiştirmek için Google Cloud Storage API'lerini kullanabilirsiniz.

Admin SDK, kullanıcıların paylaşabilecekleri URL'ler oluşturmanıza da olanak tanır. .

Varsayılan paketi kullanma

Yönetici SDK'sını başlatırken varsayılan bir paket adı belirtebilirsiniz. Ardından bu paket için kimliği doğrulanmış bir referans alabilir. Paket adı gs:// veya başka bir protokol ön eki 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.

Python

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.

Go

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.

Admin SDK tarafından döndürülen paket referanslarını resmi Google Cloud Storage istemci kitaplığı hesabınızla ilişkili paketlerde içerik yüklemek, indirmek ve değiştirmek için Firebase projeleri. Kimlik doğrulama yapmanız gerekmediğini unutmayın Firebase Admin SDK kullanılırken Google Cloud Storage kitaplıkları. Paket Yönetici SDK'si tarafından döndürülen referansların kimliği zaten Firebase uygulamanızı başlatmak için kullanılan kimlik bilgileri.

Özel paketleri kullanma

Varsayılan dışında bir Cloud Storage paketi kullanmak istiyorsanız veya tek bir uygulamada birden fazla Cloud Storage paketi kullanabilirsiniz. özel paket için aşağıda gösterildiği gibi referans alabilirsiniz:

Node.js

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

Java

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

Python

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

Go

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

Özel bir Firebase uygulaması kullanın

Birden fazla Firebase uygulamasıyla etkileşime geçen daha karmaşık bir uygulama geliştiriyorsanı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();

Python

bucket = storage.bucket(app=custom_app)

Go

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

Paylaşılabilir bir indirme URL'si al

Admin SDK'yı kullanarak süresi dolmayan bir indirme URL'si oluşturabilirsiniz: dosyalar olabilir. Bu URL'ye sahip olan herkes dosyaya kalıcı olarak erişebilir.

Node.js

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

const fileRef = getStorage().bucket('my-bucket').file('my-file');
const downloadURL= await getDownloadURL(fileRef);

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 ihtiyaç duyar. Yönetici SDK'sı, bu kitaplıklarda tanımlanan nesnelerdir. Dosya yükleme ve indirme gibi kullanım alanlarında döndürülen paket referanslarının nasıl kullanılacağını öğrenmek için Google Cloud Storage istemci kitaplıklarının belgelerine ve API referanslarına bakın.