0

appengineデータストアを使用して、appengineモジュール間でキーを共有しようとしています。 私は1つのモジュールにキーを書いています、私はそのモジュールからそれを読むことができます。appengineモジュール間でデータを共有する

2番目のモジュールから読み込もうとしません。このようなエンティティの応答はありません。

モジュール間で鍵を共有するにはどうすればよいですか?そのためにデータストアを使用することはできますか?ドキュメントデータストアで読んだことから、サービス間で共有されています。それは私にとってはうまくいかないようです。

答えて

1

最終的な一貫性の問題が発生している可能性があります。 Datastoreが配布され、あるサービスがデータの一貫したバージョンにヒットし、別のサービス(モジュール)が別のバージョンのヒットした可能性があります。データストアはモジュール間でデータを共有する方法であるため、データやクエリを強く一貫性を持たせるように再構築しない限り、すぐにデータを読み取ることができないという一貫性の問題があります。あなたが他のモジュールで間違ったキーを持っているように、あるいは別の名前空間に何らかの形で衝突しているような、別の問題かもしれません。最後のリンクから https://cloud.google.com/datastore/docs/concepts/structuring_for_strong_consistency https://cloud.google.com/datastore/docs/articles/balancing-strong-and-eventual-consistency-with-google-cloud-datastore/ https://cloud.google.com/datastore/docs/best-practices

:あなたはあなたのクエリのための強力な一貫性が必要な場合は

、祖先 クエリを使用

は、ここでデータストアの整合性にいくつかのリソースです。祖先クエリを使用するには、最初にデータの構造を整える必要があります(堅牢性のためには が必要です)。祖先クエリでは、一貫して の結果が返されます。 lookup()の後に続く非祖先キーのみのクエリでは、非祖先の キーのみのクエリはクエリの時点で一致しないインデックスから結果を得る可能性があるため、強い結果を返さないことに注意してください。

関連する問題