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, in modo da poter integrare contenuti multimediali avanzati nelle tue app. I dati vengono archiviati in un Google Cloud Storage bucket, una soluzione di archiviazione di oggetti su scala exabyte con elevata affidabilità e ridondanza globale. Cloud Storage for Firebase ti consente di caricare in sicurezza questi file direttamente da dispositivi mobili e browser web, gestendo facilmente le reti instabili con facilità.

Prima di iniziare

  1. Se non l'hai ancora fatto, assicurati di aver completato la guida introduttiva per le app web. Sono inclusi:

    • Creazione di un progetto Firebase.

    • Registrazione dell'app web con il progetto e collegamento dell'app a Firebase aggiungendo l'SDK Firebase JS e l'oggetto di configurazione Firebase all'app.

  2. Assicurati che il tuo progetto Firebase sia incluso nel piano tariffario Blaze con pagamento a consumo, che è un requisito per utilizzare Cloud Storage for Firebase. Se non hai mai utilizzato Firebase e Google Cloud, verifica se hai diritto a un credito di prova senza costi di 300$.

Creare un bucket predefinitoCloud Storage

  1. Nella console Firebase, vai a Database e spazio di archiviazione > Spazio di archiviazione.

    Se il tuo progetto non è ancora incluso nel piano tariffario Blaze con pagamento a consumo, ti verrà chiesto di eseguirne l'upgrade.

  2. Fai clic su Inizia.

  3. Seleziona una località per il bucket predefinito.

  4. Configura il 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 console Firebase (vai alla scheda Database e spazio di archiviazione > Spazio di archiviazione > File). Il formato del nome del bucket predefinito è PROJECT_ID.firebasestorage.app.

Configurare l'accesso pubblico

Cloud Storage for Firebase fornisce un linguaggio di regole dichiarative che ti consente di definire la struttura dei dati, la modalità di indicizzazione e quando i dati possono essere letti e scritti. Per impostazione predefinita, l'accesso in lettura e scrittura a Cloud Storage è limitato, quindi solo gli utenti autenticati possono leggere o scrivere dati. Per iniziare senza configurare Authentication, puoi configurare le regole per l'accesso pubblico.

In questo modo, Cloud Storage è aperto a chiunque, anche a persone che non utilizzano la tua app, quindi assicurati di limitare di nuovo Cloud Storage quando configuri la authentication.

Aggiungere l'SDK Cloud Storage JS e inizializzare Cloud Storage

Devi specificare il nome del bucket Cloud Storage quando inizializzi l' SDK JavaScript.

Puoi trovare il nome del bucket Cloud Storage nella console Firebase (vai alla scheda Database e spazio di archiviazione > Spazio di archiviazione > File). A seconda di quando hai creato il tuo bucket predefinito, il nome del bucket sarà in uno dei seguenti formati:

  • PROJECT_ID.firebasestorage.app (bucket predefinito creato a partire da settembre 2024)
  • PROJECT_ID.appspot.com (bucket predefinito legacy creato prima di settembre 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();

Ora puoi iniziare a utilizzare Cloud Storage!

Passaggio successivo? Scopri come creare un Cloud Storage riferimento.

Configurazione avanzata

Esistono alcuni casi d'uso che richiedono una configurazione aggiuntiva:

Il primo caso d'uso è perfetto se hai utenti in tutto il mondo e vuoi archiviare 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 e 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 archivia immagini o altri contenuti a cui si accede di frequente e un bucket nearline o coldline che archivia backup degli utenti o altri contenuti a cui si accede di rado.

In entrambi questi casi d'uso, ti consigliamo di utilizzare più Cloud Storage bucket.

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

Utilizzare più Cloud Storage bucket

Se vuoi utilizzare un bucket Cloud Storage diverso dal bucket 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");

Utilizzare i bucket importati

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

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, poiché questi hanno il controllo dell'accesso predefinito impostato per consentire l'accesso a Firebase. Questa è una misura temporanea e 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 quell'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