Firestore세팅을 마치고 serviceAccountKey.json도 생성해서 로컬에 저장했다. 자 이제 잘 연결됐는지 확인해볼까?
import firebase_admin
from firebase_admin import credentials, firestore
# Firebase 프로젝트 초기화
cred = credentials.Certificate("./serviceAccountKey.json")
app = firebase_admin.initialize_app(cred)
print("Firebase App Name:", app.name)
print("Project ID:", app.project_id)
# Firestore 클라이언트 테스트
db = firestore.client()
print("Firestore Client Initialized")
coll = db.collection("{my_collection_id}")
print("Collection ID:", coll.id)
에러 하나 없이 콘솔에 잘 찍힌다. 그래서 난 잘 세팅된줄만 알았다. 이대로 아래줄에 데이터 삽입 메소드를 실행해봤다.
coll.add({ "name": "John", "age": 10 })
google.api_core.exceptions.NotFound: 404 The database {project_name} does not exist for project {project_name} Please visit https://console.cloud.google.com/datastore/setup?project={project_name} to add a Cloud Datastore or Cloud Firestore database.
데이터베이스를 찾을수 없다는 에러였다. 연결하는 부분에서 에러가 발생하지 않았길래 데이터 삽입에서 권한 문제가 발생한줄 알았다. 게다가 저 코드는 공식 가이드에서 제공해준 코드잖아! 코드에는 문제가 없을것이야..
그런데 문제는 사실 다른곳에 있었다. db = firestore.client() 코드는 database_id를 인수로 받는데, None일 경우 project_id로 값을 넣는것이었다. 그래서 아래와 같이 수정함으로써 에러를 해결할수 있었다.ㅠㅠ
db = firestore.client(database_id="{database_id}")
'trouble-shooting' 카테고리의 다른 글
크롬 익스텐션 sendResponse 응답값 전달 안 되는 문제 (0) | 2024.12.06 |
---|---|
크롬익스텐션 content_script의 world속성 (0) | 2024.12.05 |
오픈소스 PR 날리기 vite-plugin-chrome-extension 오류해결 (2) | 2024.11.30 |
nginx를 사용해서 next.js 정적서빙 할 때 생긴 문제 (1) | 2024.11.29 |
크롬 익스텐션의 CSP (Content Security Policy) (0) | 2024.11.28 |