Похоже, что google выпустила поддержку для запроса хранилища данных из потока данных/пучка в python. Я пытаюсь заставить его работать на месте, но я бегу на некоторые вопросы:Как запросить хранилище данных из потока данных/пучка в python
import apache_beam as beam
from apache_beam.io.datastore.v1.datastoreio import ReadFromDatastore
from gcloud import datastore
client = datastore.Client('my-project')
query = client.query(kind='Document')
options = get_options()
p = beam.Pipeline(options=options)
entities = p | 'read' >> ReadFromDatastore(project='my-project', query=query)
entities | 'write' >> beam.io.Write(beam.io.TextFileSink('gs://output.txt'))
p.run()
Это дает мне
AttributeError: 'Query' object has no attribute 'HasField' [while running 'read/Split Query']
Я предполагаю, что я передаю в заблуждении объект запроса (есть 3-4 пакета пакетов, из которых вы можете импортировать хранилище данных), но я не могу понять, какой из них я должен пройти. В тестах они проходят в protobuf. Это то, что я должен использовать? Может ли кто-нибудь показать простой пример запроса, используя protobuf, если это то, что я должен сделать?
Hi Бувар, где вы бежите этот код? на движке приложения? консоль? или подключиться через командную строку на рабочем столе? У меня возникли проблемы с запуском по аналогичной проблеме. – Evan
Командная строка на рабочем столе. – Bovard