Получение данных из Firestore останавливается для более длительного сбора с помощью Python Admin SDK - PullRequest
0 голосов
/ 10 декабря 2018

У меня проблемы с получением (экспортом) данных из базы данных 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, я всегда получаю пустой массив обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...