Wprowadzenie do interfejsu Admin Cloud Storage API

Cloud Storage for Firebase przechowuje Twoje dane w Zasobnik Google Cloud Storage – rozwiązanie do przechowywania obiektów w skali eksabajtów z wysoką dostępnością i globalną nadmiarowość. Pakiet SDK Firebase Admin zapewnia bezpośredni dostęp do Cloud Storage zasobników ze środowisk z podwyższonymi uprawnieniami. Następnie możesz użyć Interfejsy API Google Cloud Storage do manipulowania obiektami przechowywanymi w zasobnikach.

Admin SDK umożliwia też tworzenie adresów URL, które użytkownicy mogą udostępniać. pobierania obiektów do zasobników.

Użyj domyślnego zasobnika

Podczas inicjowania pakietu Admin SDK możesz określić domyślną nazwę zasobnika. Potem może pobrać uwierzytelnione odwołanie do tego zasobnika. Nazwa zasobnika musi nie mogą zawierać prefiksów gs:// ani żadnych innych prefiksów protokołu. Jeśli na przykład zasobnik Adres URL wyświetlany w Konsola 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.

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.

Możesz używać odwołań do zasobników zwracanych przez pakiet Admin SDK w połączeniu z: urzędnik Google Cloud Storage biblioteki klienta przesyłać, pobierać i modyfikować treści w zasobnikach powiązanych z Projekty Firebase. Pamiętaj, że nie musisz się uwierzytelniać. Google Cloud Storage biblioteki, gdy używasz pakietu Firebase Admin SDK. Zasobnik odwołania zwrócone przez pakiet Admin SDK są już uwierzytelnione za pomocą dane logowania użyte do zainicjowania aplikacji Firebase.

Użyj zasobników niestandardowych

Jeśli chcesz użyć zasobnika Cloud Storage innego niż domyślny podane powyżej lub użyć kilku 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');

Java

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

Python

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

Go

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

Użyj niestandardowej aplikacji Firebase

Jeśli tworzysz bardziej złożoną aplikację, która współpracuje z wieloma urządzeniami aplikacji Firebase, Zasobniki (Cloud Storage) powiązane z określoną aplikacją Firebase w ten sposób:

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")

Tworzenie adresu URL pobierania, który można udostępniać

Admin SDK umożliwia wygenerowanie adresu URL pobierania, który wkrótce wygaśnie zapisane w zasobnikach. Każda osoba mająca ten URL może trwale uzyskać dostęp do pliku.

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 biblioteki klienta

Pakiety Firebase Admin SDK zależą od Google Cloud Storage biblioteki klienta aby przyznać dostęp Cloud Storage. Odwołania do zasobnika zwrócone przez Pakiet Admin SDK to obiekty zdefiniowane w tych bibliotekach. Zapoznaj się z dokumentacją i Dokumentacja API dotycząca bibliotek klienta Google Cloud Storage – dowiesz się, jak używaj zwróconych odwołań do zasobników w przypadkach użycia, takich jak plik przesyłanie i pobierz.