Présentation de l'API Admin Cloud Storage

Cloud Storage pour Firebase stocke vos données dans un Google Cloud Storage seau - une solution de stockage d'objets à l'échelle exaoctets avec haute disponibilité et redondance globale. Le SDK Firebase Admin vous permet d'accéder directement à vos buckets Cloud Storage à partir d'environnements privilégiés. Ensuite , vous pouvez utiliser les API Google Cloud Storage pour manipuler les objets stockés dans les seaux.

Utiliser un bucket par défaut

Vous pouvez spécifier un nom de compartiment par défaut lors de l'initialisation du SDK Admin. Vous pouvez ensuite récupérer une référence authentifiée à ce compartiment. Le nom du godet ne doit pas contenir gs:// ou d'autres préfixes de protocole. Par exemple, si l'URL du seau affiché dans la console Firebase est gs://bucket-name.appspot.com , passer la chaîne bucket-name.appspot.com au Admin SDK.

Node.js

const admin = require('firebase-admin');

const serviceAccount = require('./path/to/serviceAccountKey.json');

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  storageBucket: '<BUCKET_NAME>.appspot.com'
});

const bucket = admin.storage().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.

Aller

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.

Vous pouvez utiliser les références de seau renvoyées par le Admin SDK conjointement avec les officiels bibliothèques clientes Google Cloud Storage pour télécharger, télécharger et modifier le contenu dans les seaux associés à vos projets Firebase. Notez que vous n'avez pas besoin d'authentifier les bibliothèques Google Cloud Storage lorsque vous utilisez le SDK Firebase Admin. Les références de bucket renvoyées par le SDK Admin sont déjà authentifiées avec les informations d'identification utilisées pour initialiser votre application Firebase.

Utiliser des buckets personnalisés

Si vous souhaitez utiliser un bucket Cloud Storage autre que celui par défaut fourni ci-dessus, ou utiliser plusieurs buckets Cloud Storage dans une seule application, vous pouvez récupérer une référence à un bucket personnalisé comme indiqué ci-dessous :

Node.js

const bucket = admin.storage().bucket('my-custom-bucket');

Java

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

Python

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

Aller

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

Utiliser une application Firebase personnalisée

Si vous construisez une application plus complexe qui interagit avec de multiples applications Firebase , vous pouvez accéder aux seaux Cloud Storage associés à une application spécifique Firebase comme suit:

Node.js

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

Java

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

Python

bucket = storage.bucket(app=custom_app)

Aller

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

Bibliothèques clientes Google Cloud Storage

Les Firebase administrateur SDKs dépendent des bibliothèques clientes Google Cloud Storage pour fournir un accès Cloud Storage. Les références de compartiment renvoyées par le SDK Admin sont des objets définis dans ces bibliothèques. Reportez - vous à la documentation et les références API des bibliothèques client Google Cloud Storage pour apprendre comment utiliser les références baquets retournés dans les cas d'utilisation comme fichier télécharger et télécharger .