Catch up on highlights from Firebase at Google I/O 2023. Learn more

Wprowadzenie do interfejsu Admin Cloud Storage API

Cloud Storage dla Firebase przechowuje Twoje dane w zasobniku Google Cloud Storage — rozwiązaniu obiektowej pamięci masowej o skali eksabajtów, charakteryzującym się wysoką dostępnością i globalną redundancją. Pakiet Firebase Admin SDK umożliwia bezpośredni dostęp do zasobników Cloud Storage z uprzywilejowanych środowisk. Następnie możesz użyć interfejsów API Google Cloud Storage do manipulowania obiektami przechowywanymi w zasobnikach.

Użyj domyślnego zasobnika

Podczas inicjowania pakietu Admin SDK możesz określić domyślną nazwę zasobnika. Następnie możesz pobrać uwierzytelnione odwołanie do tego zasobnika. Nazwa zasobnika nie może zawierać gs:// ani żadnych innych przedrostków protokołów. Jeśli na przykład adres URL zasobnika wyświetlany w konsoli Firebase to gs://bucket-name.appspot.com , przekaż ciąg znaków bucket-name.appspot.com do pakietu Admin SDK.

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.

Jawa

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.

Pyton

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.

Iść

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.

Możesz używać odwołań do zasobników zwróconych przez Admin SDK w połączeniu z oficjalnymi bibliotekami klienta Google Cloud Storage, aby przesyłać, pobierać i modyfikować zawartość w zasobnikach powiązanych z Twoimi projektami Firebase. Pamiętaj, że nie musisz uwierzytelniać bibliotek Google Cloud Storage podczas korzystania z pakietu Firebase Admin SDK. Odwołania do zasobników zwrócone przez pakiet Admin SDK są już uwierzytelnione za pomocą danych logowania użytych do zainicjowania aplikacji Firebase.

Użyj niestandardowych zasobników

Jeśli chcesz używać zasobnika Cloud Storage innego niż domyślny podany powyżej lub użyć wielu zasobników Cloud Storage w jednej aplikacji, możesz pobrać odniesienie do zasobnika niestandardowego, jak pokazano poniżej:

Node.js

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

Jawa

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

Pyton

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

Iść

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

Użyj niestandardowej aplikacji Firebase

Jeśli tworzysz bardziej skomplikowaną aplikację współpracującą z wieloma aplikacjami Firebase , możesz uzyskać dostęp do zasobników Cloud Storage powiązanych z konkretną aplikacją Firebase w następujący sposób:

Node.js

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

Jawa

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

Pyton

bucket = storage.bucket(app=custom_app)

Iść

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

Biblioteki klienta Google Cloud Storage

Pakiety Firebase Admin SDK są zależne od bibliotek klienckich Google Cloud Storage w celu zapewnienia dostępu do Cloud Storage. Odwołania do zasobników zwracane przez pakiet Admin SDK to obiekty zdefiniowane w tych bibliotekach. Zapoznaj się z dokumentacją i odwołaniami do interfejsów API bibliotek klienckich Google Cloud Storage, aby dowiedzieć się, jak używać zwróconych odwołań do zasobników w przypadkach użycia, takich jak przesyłanie i pobieranie plików .