2

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 pipパッケージがあります)しかし、私は渡すはずのものを把握することはできません。テストでは、彼らはprotobufで渡しています。それは私が使用しなければならないものですか? protobufを使用して簡単なサンプルクエリを表示することができますか?

+0

こんにちはBOUVARD、:あなたが何かを必要とするよう

が見えますか?アプリエンジンで?コンソール?あなたのデスクトップ上のコマンドラインを介して接続しますか?私は似たような問題で起動するのに苦労しています – Evan

+0

デスクトップのコマンドライン。 – Bovard

答えて

1

wordcount exampleは、クエリにprotobufsを使用します。あなたはこのコードを実行している

from google.datastore.v1 import query_pb2 
... 
query = query_pb2.Query() 
query.kind.add().name = 'Document' 
関連する問題