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 .