Inizia a utilizzare Cloud Storage sul web

Cloud Storage for Firebase ti consente di caricare e condividere contenuti generati dagli utenti, come immagini e video, per creare contenuti rich media nelle tue app. I tuoi dati vengono archiviati in un Google Cloud Storage bucket, una soluzione di archiviazione degli oggetti su larga scala exabyte con alta disponibilità e ridondanza globale. Cloud Storage for Firebase ti consente di caricare questi file in sicurezza direttamente da dispositivi mobili e browser web, gestendo facilmente le reti con segnale debole.

Prima di iniziare

  1. Se non lo hai già fatto, assicurati di aver completato la Guida introduttiva per le app web. Sono inclusi:

    • Creare un progetto Firebase.

    • Registra la tua app web con il progetto e collegala a Firebase aggiungendo l'SDK Firebase JS e l'oggetto di configurazione Firebase.

  2. Assicurati che il tuo progetto Firebase sia in uso con il piano tariffario Blaze di pagamento in base al consumo. Se non hai mai utilizzato Firebase e Google Cloud, controlla se hai diritto a un credito di 300 $.

Crea un bucket Cloud Storage predefinito

  1. Nel riquadro di navigazione della console Firebase, seleziona Spazio di archiviazione.

    Se il tuo progetto non utilizza ancora il piano tariffario Blaze di pagamento a consumo, ti verrà chiesto di eseguire l'upgrade.

  2. Fai clic su Inizia.

  3. Seleziona una posizione per il bucket predefinito.

    • I bucket in US-CENTRAL1, US-EAST1 e US-WEST1 possono usufruire del livello "Always Free" per Google Cloud Storage. I bucket in tutte le altre località rispettano i prezzi e l'utilizzo di Google Cloud Storage.

    • Se vuoi, in un secondo momento puoi creare più bucket, ciascuno con la sua posizione.

  4. Configura Firebase Security Rules per il bucket predefinito. Durante lo sviluppo, valuta la possibilità di configurare le regole per l'accesso pubblico.

  5. Fai clic su Fine.

Ora puoi visualizzare il bucket nella Cloud Storage scheda File della console Firebase. Il formato predefinito del nome del bucket è PROJECT_ID.firebasestorage.app.

Configurare l'accesso pubblico

Cloud Storage for Firebase offre un linguaggio di regole dichiarative che consente di definire come devono essere strutturati i dati, come devono essere indicizzati e quando i dati possono essere letti e scritti. Per impostazione predefinita, l'accesso in lettura e scrittura a Cloud Storage è limitato in modo che solo gli utenti autenticati possano leggere o scrivere dati. Per iniziare senza configurare Authentication, puoi configurare le regole per l'accesso pubblico.

In questo modo, Cloud Storage sarà aperto a chiunque, anche a chi non utilizza la tua app, quindi assicurati di limitare di nuovo Cloud Storage quando configuri l'autenticazione.

Aggiungi l'SDK JS Cloud Storage e inizializza Cloud Storage

Devi specificare il nome del bucket Cloud Storage durante l'inizializzazione dell'SDK JavaScript.

Puoi trovare il nome del bucket Cloud Storage nella Cloud Storage File scheda della console Firebase. A seconda di quando hai creato il bucket predefinito, il nome del bucket sarà in uno dei seguenti formati:

  • PROJECT_ID.firebasestorage.app (bucket predefinito creato a partire dal giorno 30 ottobre 2024)
  • PROJECT_ID.appspot.com (bucket predefinito creato prima del 30 ottobre 2024)

Inizializza l'SDK utilizzando il seguente snippet di codice:

Web

import { initializeApp } from "firebase/app";
import { getStorage } from "firebase/storage";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
  storageBucket: 'BUCKET_NAME'
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);


// Initialize Cloud Storage and get a reference to the service
const storage = getStorage(app);

Web

import firebase from "firebase/app";
import "firebase/compat/storage";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
  storageBucket: 'BUCKET_NAME'
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Initialize Cloud Storage and get a reference to the service
const storage = firebase.storage();

Puoi iniziare a usare Cloud Storage.

Passaggio successivo? Scopri come creare un riferimento Cloud Storage.

Configurazione avanzata

Alcuni casi d'uso richiedono una configurazione aggiuntiva:

Il primo caso d'uso è perfetto se hai utenti in tutto il mondo e vuoi memorizzare i loro dati nelle vicinanze. Ad esempio, puoi creare bucket negli Stati Uniti, in Europa e in Asia per archiviare i dati degli utenti in queste regioni al fine di ridurre la latenza.

Il secondo caso d'uso è utile se hai dati con pattern di accesso diversi. Ad esempio, puoi configurare un bucket multiregionale o regionale che memorizza immagini o altri contenuti a cui si accede di frequente e un bucket nearline o coldline che memorizza i backup degli utenti o altri contenuti a cui si accede di rado.

In entrambi i casi d'uso, conviene utilizzare più bucket Cloud Storage.

Il terzo caso d'uso è utile se stai creando un'app, come Google Drive, che consente agli utenti di avere più account su cui hanno eseguito l'accesso (ad esempio un account personale e un account di lavoro). Puoi utilizzare un'istanza di app Firebase personalizzata per autenticare ogni account aggiuntivo.

Utilizzare più bucket Cloud Storage

Se vuoi utilizzare un bucket Cloud Storage diverso da quello predefinito descritto in precedenza in questa guida o utilizzare più bucket Cloud Storage in una singola app, puoi creare un'istanza di firebase.storage che fa riferimento al tuo bucket personalizzato:

Web

import { getApp } from "firebase/app";
import { getStorage } from "firebase/storage";

// Get a non-default Storage bucket
const firebaseApp = getApp();
const storage = getStorage(firebaseApp, "gs://my-custom-bucket");

Web

// Get a non-default Storage bucket
var storage = firebase.app().storage("gs://my-custom-bucket");

Utilizzo dei bucket importati

Quando importi un bucket Cloud Storage esistente in Firebase, devi grant Firebase la possibilità di accedere a questi file utilizzando lo strumento gsutil, incluso nell'SDK Google Cloud:

gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME

Puoi trovare il numero del progetto come descritto nell'introduzione ai progetti Firebase.

Ciò non influisce sui bucket appena creati, in quanto per questi il controllo dell'accesso predefinito è impostato su Consenti Firebase. Si tratta di una misura temporanea che verrà eseguita automaticamente in futuro.

Utilizzare un'app Firebase personalizzata

Se stai creando un'app più complessa utilizzando un firebase.app.App personalizzato, puoi creare un'istanza di firebase.storage.Storage inizializzata con l'app:

Web

import { getStorage } from "firebase/storage";

// Get the default bucket from a custom firebase.app.App
const storage1 = getStorage(customApp);

// Get a non-default bucket from a custom firebase.app.App
const storage2 = getStorage(customApp, "gs://my-custom-bucket");

Web

// Get the default bucket from a custom firebase.app.App
var storage = customApp.storage();

// Get a non-default bucket from a custom firebase.app.App
var storage = customApp.storage("gs://my-custom-bucket");

Passaggi successivi