У меня проблемы с получением (экспортом) данных из базы данных Firestore с использованием Python SDK.Ниже приведен код, который я использую.Он успешно подключается и начинает получать данные, как ожидалось, но затем через некоторое время останавливается без каких-либо предупреждений или сообщений об ошибках.Это также зависит от количества найденных документов и останавливается каждый раз, когда я запускаю скрипт.
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
account = 'path-to-keys.json'
cred = credentials.Certificate(account)
firebase_admin.initialize_app(cred)
db = firestore.client()
project_ref = db.collection(u'test-collection')
db_values = project_ref.get()
values = []
for v in db_values:
cv = v.to_dict()
values.append(cv)
# later the values list is saved as a json
Есть ли у вас какие-либо намеки на то, что я делаю неправильно, или как я могу заставить скрипт завершить загрузку всех документов коллекции?Официальная документация по теме немного скудна.
Редактировать:
Если немного поиграться, если я вставлю sleep(0.05)
в цикл, программа выдает это исключение:
google.api_core.exceptions.DeadlineExceeded: 504 Deadline Exceeded
Реализация той же логики с NodeJS, все равно выдает эту ошибку.Обходной путь - использовать разбиение на страницы для итерации по данным.Но каким-то образом упорядочение по метке времени не работает из python, я всегда получаю пустой массив обратно.