Salta ai contenuti

Connettore Firebase

Il connettore Firebase abilita la scrittura di dati su Google Cloud Firestore, un database NoSQL cloud flessibile e scalabile per sviluppo mobile, web e server.

Tipi Connettore:

  • FirebaseWriter - Scrivi documenti su collezioni Firestore

Scrivi dati su una collezione Firestore:

{
"type": "FirebaseWriter",
"config": {
"credentialsFile": {
"mode": "base64",
"data": "<base64-encoded-service-account-json>"
},
"projectId": "my-firebase-project",
"collection": "sensor_readings"
}
}

Connettiti a un database Firestore specifico (per progetti multi-database):

{
"type": "FirebaseWriter",
"config": {
"credentialsFile": {
"mode": "path",
"data": "/path/to/service-account.json"
},
"projectId": "my-firebase-project",
"databaseName": "production-db",
"collection": "iot_events"
}
}
ParametroTipoRichiestoDescrizione
credentialsFileEncodedFileFile credenziali service account
projectIdstringID progetto Firebase/GCP
collectionstringNome collezione Firestore
databaseNamestringNome database Firestore (per progetti multi-database)

Il parametro credentialsFile supporta due modalità:

{
"credentialsFile": {
"mode": "base64",
"data": "eyJ0eXBlIjoic2VydmljZV9hY2NvdW50Ii..."
}
}
{
"credentialsFile": {
"mode": "path",
"data": "/etc/meddle/firebase-credentials.json"
}
}
  1. Vai alla Console Firebase
  2. Seleziona il tuo progetto → Impostazioni Progetto → Service Account
  3. Clicca “Genera nuova chiave privata”
  4. Scarica il file JSON
  5. Usa il percorso file o codifica in base64 il contenuto

Ogni payload dati viene aggiunto come nuovo documento nella collezione specificata:

{
"temperature": 25.5,
"pressure": 101.3,
"humidity": 60,
"timestamp": 1234567890
}

Firestore genera automaticamente un ID documento univoco per ogni voce.

Memorizza letture sensori in Firestore:

{
"type": "FirebaseWriter",
"config": {
"credentialsFile": {
"mode": "path",
"data": "/config/firebase-sa.json"
},
"projectId": "iot-monitoring",
"collection": "sensor_data"
}
}

Registra eventi di sistema su Firestore:

{
"type": "FirebaseWriter",
"config": {
"credentialsFile": {
"mode": "base64",
"data": "<credentials>"
},
"projectId": "event-tracker",
"collection": "system_events"
}
}

Scrivi su un database specifico in un progetto multi-database:

{
"type": "FirebaseWriter",
"config": {
"credentialsFile": {
"mode": "path",
"data": "/config/firebase-sa.json"
},
"projectId": "enterprise-app",
"databaseName": "analytics-db",
"collection": "metrics"
}
}

Soluzioni:

  • Verifica che il file credenziali sia JSON valido
  • Controlla che l’ID progetto corrisponda al tuo progetto Firebase
  • Assicurati che il service account abbia permessi Firestore
  • Verifica la codifica base64 se usi modalità base64

Soluzioni:

  • Controlla che il nome collezione sia valido
  • Verifica che le regole di sicurezza Firestore permettano scritture
  • Assicurati che il service account abbia il ruolo datastore.user
  • Controlla quote e limiti Firestore

Soluzioni:

  • Verifica connettività di rete verso Google Cloud
  • Controlla che il firewall permetta HTTPS in uscita (porta 443)
  • Assicurati che le credenziali non siano scadute o revocate
  1. Usa Service Account: Non usare mai credenziali utente in produzione
  2. Limita i Permessi: Concedi solo i permessi Firestore necessari
  3. Organizza le Collezioni: Usa nomi collezione significativi con gerarchia chiara
  4. Monitora l’Utilizzo: Traccia operazioni lettura/scrittura Firestore per gestione costi
  5. Proteggi le Credenziali: Memorizza le credenziali in modo sicuro, non committarle nel version control
  • MongoDB - Database NoSQL alternativo
  • SQL - Storage database relazionale
  • InfluxDB - Database time-series