Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Introdução à API Admin Cloud Storage

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O Cloud Storage para Firebase armazena seus dados em um bucket do Google Cloud Storage , uma solução de armazenamento de objetos em escala de exabytes com alta disponibilidade e redundância global. O SDK Admin do Firebase permite que você acesse diretamente seus buckets do Cloud Storage em ambientes privilegiados. Em seguida, você pode usar as APIs do Google Cloud Storage para manipular os objetos armazenados nos buckets.

Usar um bucket padrão

Você pode especificar um nome de bucket padrão ao inicializar o SDK Admin. Em seguida, você pode recuperar uma referência autenticada para esse bucket. O nome do bucket não deve conter gs:// ou qualquer outro prefixo de protocolo. Por exemplo, se o URL do bucket exibido no console do Firebase for gs://bucket-name.appspot.com , passe a string bucket-name.appspot.com para o SDK Admin.

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.

Pitão

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.

Vai

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.

Você pode usar as referências de bucket retornadas pelo SDK Admin em conjunto com as bibliotecas de cliente oficiais do Google Cloud Storage para fazer upload, download e modificar conteúdo nos buckets associados aos seus projetos do Firebase. Observe que você não precisa autenticar as bibliotecas do Google Cloud Storage ao usar o SDK Admin do Firebase. As referências de bucket retornadas pelo SDK Admin já estão autenticadas com as credenciais usadas para inicializar seu aplicativo Firebase.

Usar intervalos personalizados

Se você quiser usar um bucket do Cloud Storage diferente do padrão fornecido acima ou usar vários buckets do Cloud Storage em um único aplicativo, poderá recuperar uma referência a um bucket personalizado conforme mostrado abaixo:

Node.js

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

Java

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

Pitão

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

Vai

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

Usar um aplicativo personalizado do Firebase

Se você estiver criando um aplicativo mais complicado que interage com vários aplicativos do Firebase , poderá acessar os buckets do Cloud Storage associados a um aplicativo específico do Firebase da seguinte maneira:

Node.js

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

Java

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

Pitão

bucket = storage.bucket(app=custom_app)

Vai

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

Bibliotecas de cliente do Google Cloud Storage

Os SDKs Admin do Firebase dependem das bibliotecas de cliente do Google Cloud Storage para fornecer acesso ao Cloud Storage. As referências de bucket retornadas pelo SDK Admin são objetos definidos nessas bibliotecas. Consulte a documentação e as referências de API das bibliotecas de cliente do Google Cloud Storage para saber como usar as referências de bucket retornadas em casos de uso como upload e download de arquivos .