Wprowadzenie do interfejsu Admin Cloud Storage API

Cloud Storage dla Firebase przechowuje Twoje dane w zasobniku Google Cloud Storage — rozwiązaniu do obiektowej pamięci masowej w skali eksabajta o wysokiej dostępności i globalnej nadmiarowości. Pakiet Firebase Admin SDK umożliwia bezpośredni dostęp do zasobników Cloud Storage z uprzywilejowanych środowisk. Następnie możesz używać 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 odniesienie do tego zasobnika. Nazwa zasobnika nie może zawierać gs:// ani żadnych innych prefiksów protokołu. Jeśli na przykład URL zasobnika wyświetlany w konsoli Firebase to gs://bucket-name.appspot.com , przekaż ciąg 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 zwracanych przez pakiet Admin SDK w połączeniu z oficjalnymi bibliotekami klienta Google Cloud Storage, aby przesyłać, pobierać i modyfikować zawartość zasobników powiązanych z Twoimi projektami Firebase. Pamiętaj, że korzystając z pakietu Firebase Admin SDK, nie musisz uwierzytelniać bibliotek Google Cloud Storage. Odwołania do zasobników zwrócone przez pakiet Admin SDK są już uwierzytelnione przy użyciu danych logowania użytych do zainicjowania aplikacji Firebase.

Użyj niestandardowych zasobników

Jeśli chcesz użyć zasobnika Cloud Storage innego niż domyślny podany powyżej lub użyć wielu zasobników Cloud Storage w jednej aplikacji, możesz pobrać odwołanie 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ę, która współdziała 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 SDK Firebase Admin zależą od bibliotek klienta Google Cloud Storage, aby zapewnić dostęp do Cloud Storage. Odwołania do zasobników zwrócone 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 .