Catch up on everything we announced at this year's Firebase Summit. Learn more

Introduzione all'API Admin Cloud Storage

Cloud Storage per Firebase memorizza i dati in un Google Cloud Storage secchio - una soluzione di storage oggetto scala Exabyte con alta disponibilità e ridondanza globale. Firebase Admin SDK ti consente di accedere direttamente ai tuoi bucket Cloud Storage da ambienti privilegiati. Quindi è possibile utilizzare le API di cloud storage di Google di manipolare gli oggetti memorizzati nei secchi.

Usa un bucket predefinito

Puoi specificare un nome di bucket predefinito durante l'inizializzazione di Admin SDK. Quindi puoi recuperare un riferimento autenticato a questo bucket. Il nome non deve contenere bucket gs:// o altri prefissi di protocollo. Ad esempio, se l'URL secchio visualizzato nella console Firebase è gs://bucket-name.appspot.com , passare la stringa bucket-name.appspot.com al Admin SDK.

Nodo.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.

Giava

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.

Pitone

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.

andare

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.

È possibile utilizzare i riferimenti benna restituiti dal Admin SDK in collaborazione con il funzionario librerie client di Google Cloud Storage per caricare, scaricare e modificare il contenuto nei secchi associati con i vostri progetti Firebase. Tieni presente che non devi autenticare le librerie di Google Cloud Storage quando utilizzi l'SDK Firebase Admin. I riferimenti ai bucket restituiti dall'SDK Admin sono già autenticati con le credenziali utilizzate per inizializzare l'app Firebase.

Usa bucket personalizzati

Se desideri utilizzare un bucket Cloud Storage diverso da quello predefinito fornito sopra o utilizzare più bucket Cloud Storage in un'unica app, puoi recuperare un riferimento a un bucket personalizzato come mostrato di seguito:

Nodo.js

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

Giava

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

Pitone

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

andare

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

Usa un'app Firebase personalizzata

Se si sta costruendo un'applicazione più complessa che interagisce con più applicazioni Firebase , è possibile accedere alle benne cloud storage associati a una specifica Firebase app come segue:

Nodo.js

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

Giava

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

Pitone

bucket = storage.bucket(app=custom_app)

andare

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

Librerie client di Google Cloud Storage

L'amministratore SDK Firebase dipendono le librerie client di Google Cloud Storage per fornire l'accesso Cloud Storage. I riferimenti ai bucket restituiti da Admin SDK sono oggetti definiti in queste librerie. Fare riferimento alla documentazione e API riferimenti delle librerie client di Google Cloud Storage per imparare a utilizzare i riferimenti secchio restituiti in casi d'uso come file di caricare e scaricare .