firebase / firebase/firebase-admin-python

"Invalid database id (default)" con Firestore Python (Admin SDK)

オープン
#978 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
1.2k
フォーク
359
平均マージ
5日 6分
マージ済み PR(30日)
2

説明

## Ambiente
- Progetto Firebase: misterapp-500516
- Database Firestore: ID (default), edizione Standard, modalità Firestore nativo
- Località database: eur3 (Belgio e Paesi Bassi, multi-regione UE)
- Piano di fatturazione: Blaze
- Ambiente di esecuzione: Streamlit Community Cloud (Python 3.14.7)
- Librerie: firebase-admin (provate sia l'ultima versione disponibile sia fissata a 6.5.0), google-cloud-firestore==2.29.0

## Errore
Alla chiamata di firestore.client() (o equivalentemente google.cloud.firestore.Client()), in scrittura su Firestore:

400 Invalid database id (default)

L'errore compare sia usando firebase_admin.firestore.client() senza specificare database_id, sia specificandolo esplicitamente come "(default)".

## Cosa abbiamo verificato ed escluso
1. Nome del database: confermato dalla Google Cloud Console (pagina Database, colonna "ID database") che è letteralmente (default), non un nome personalizzato.
2. Valori alternativi provati per l'ID: "-default-" (visto nell'URL della Console) → errore diverso: "404 The database -default- does not exist for project misterapp-500516" (nonostante il database sia visibilmente presente e contenga dati). Anche database="" (esplicitamente vuoto, alternativa documentata) → stesso errore "Invalid database id (default)".
3. Client utilizzato: stesso errore identico sia con firebase_admin.firestore.client() sia bypassando firebase_admin e usando direttamente google.cloud.firestore.Client(credentials=..., project=...).
4. Credenziali/chiave dell'account di servizio: testate 4 chiavi diverse generate in momenti diversi (tutte validate sintatticamente e crittograficamente, RSA 2048 bit, caricate correttamente con la libreria cryptography). Stesso errore identico con tutte.
5. Permessi IAM: l'account di servizio ha i ruoli Firebase Admin SDK Administrator Service Agent, Firebase Realtime Database Admin, Service Account Token Creator; aggiunto anche esplicitamente Cloud Datastore User. Nessun cambiamento.
6. Versione della libreria: stesso errore sia con la versione più recente disponibile via pip, sia fissando firebase-admin==6.5.0 (marzo 2024).
7. Codice applicativo: stesso errore anche tornando a una versione del codice precedente, con la connessione a Firestore nella sua forma più semplice (nessuna configurazione avanzata).

## Nota
In precedenza (stessa chiave, stesso progetto, stesso codice base) i salvataggi su Firestore hanno funzionato correttamente per un periodo (dati confermati visibili nella collection). L'errore attuale è comparso senza una modifica di codice chiaramente collegabile, il che fa sospettare un problema lato servizio o una regressione libreria/infrastruttura piuttosto che un errore di configurazione del progetto.

## Cosa funziona regolarmente
- Lettura/scrittura sullo stesso progetto tramite Google Sheets API (libreria gspread) — nessun problema di credenziali o rete generale.
- L'app resta pienamente funzionante usando Google Sheets come unico datastore.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start by reproducing the error with firebase_admin.firestore.client() and google.cloud.firestore.Client(), using the reported firebase-admin and google-cloud-firestore versions. Compare the behavior with the default database ID and the documented alternatives, then inspect the relevant client-library entry points. Done means identifying a reproducible SDK or service cause and documenting a verified resolution or regression.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
firebase, google-cloud, python
領域
databases
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。