Google Datastoreを初めてご使用になり、このGoogleのドキュメントに従いました。Googleデータストアに投影クエリを適用できません。エラー:一致するインデックスが見つかりません
https://cloud.google.com/datastore/docs/datastore-api-tutorial
私は、このドキュメントを読むことで、GoogleのAPIを呼び出すための許可を行っています。
https://developers.google.com/identity/protocols/application-default-credentials#callingpython
私は2つだけのファイルがあります。
1. client_secret.json
2. datastoreConnection.py
を、これは今まで私のdatastoreConnection.pyです:
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/path/to/client_secret.json'
from oauth2client.client import GoogleCredentials
credentials = GoogleCredentials.get_application_default()
from google.cloud import datastore
client = datastore.Client(project ="xyz",namespace = "staging")
def list_tasks(client):
query = client.query(kind='testData')
query.projection = ['patientName']
return list(query.fetch(limit=10))
print(list_tasks(client))
このコードは正常に動作し、私に必要なデータを返しています。私は複数のプロパティとプロジェクションを適用すると
問題が生じています。私はこれを読ん投影クエリを作るための
google.cloud.exceptions.PreconditionFailed: 412 no matching index found. recommended index is:<br/>- kind: testData<br/> properties:<br/> - name: age<br/> - name: patientName<br/>
: 例えば
query.projection = ['patientName','age']
コードは私にエラーを与えています。 https://cloud.google.com/datastore/docs/concepts/queries#datastore-projection-query-python
私はプロパティ名をチェックしても、同じエラーが発生しています。 どうすればこの問題を解決できますか?
私はこの種の問題に関連する他の質問にindex.yamlファイルを見てきました。これは使用する必要があり、その利点は何ですか?