問題タブ [google-cloud-datastore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
333 参照

python - App Engine: データストア クエリが結果を返すかどうかを確認する最速の方法は何ですか?

Google App Engine データストアにデータストア クエリの結果があるかどうかを確認したいと考えています。これは私のクエリです:

クエリが結果を返すかどうかを確認する最も速くてエレガントな方法は何ですか?

PS:私はそうする方法を知っていますが、それが非常に効率的かどうかは非常にわかりません...

0 投票する
2 に答える
1948 参照

java - ローカルの Google App Engine Python データストアをローカルの Google App Engine Java データストアにコピーするにはどうすればよいですか?

Java App Engine データストアに挿入する必要がある約 4000 のエンティティがあります。私が理解しているように、現在 CSV ファイルからデータストアにデータをアップロードするツールを備えているのは、App Engine の Python バージョンだけです。これまでのところ、http://code.google.com/appengine/docs/python/tools/uploadingdata.htmlの指示に従って、 Python を使用して 4000 ほどのエンティティをローカル データストアに書き込むことができました。エンティティを .csv から取得してデータストアに書き込むためだけに Python を使用しています。ローカル ホストの Python バージョンの App Engine で /_ah/admin アドレスを使用してエンティティが存在することを確認し、データ ビューアーを表示しました。

私が今やりたいことは、初期の Java バージョンでこれらのエンティティをローカルで使用することです。これは通常、Python を使用してデプロイされたバージョンの App Engine にエンティティをアップロードする場合には問題になりません。これは、ランタイムに関係なく、同じプロジェクトの異なるバージョンが同じデータストアを共有するためです。したがって、すべての .csv 行をデプロイ済みの Python バージョンのアプリに書き込んでいた場合、デプロイ済みの Java バージョンは、Python バージョンからアップロードされたすべてのエンティティを表示できます。しかし、どのようにしてローカルで同じことを達成するのでしょうか?

私が理解しているように、App Engine の Java バージョンは、WEB-INF ディレクトリの .bin ファイルにローカル データストアを作成します。App Engine の Python バージョンは、自分の Java バージョンにコピーするだけでよい場所に同様の .bin ファイルを作成しますか? Python バージョンがデータをローカルに保存している正確な場所をまだ追跡できていません。どんな助けでも大歓迎です。

0 投票する
1 に答える
320 参照

google-app-engine - 結果セットを制限するクエリ/GqlQuery .order()?

理解に苦しむクエリの奇妙な結果に気付きました。order() をクエリに追加すると、返される結果が制限されているように見えます。

これが私の相互作用です:

ご覧のとおり、2 つのクエリの間に 100 のエンティティが追加されていません。order() 命令が結果セットを制限しているようです。ただしcreated_at、必須のプロパティであり、すべてのエンティティに存在します。

例外なく。では、ORDER を使用したクエリですべてのエンティティが返されないのはなぜでしょうか?

最後に、それが悪いデータかどうかを調査します。

0 投票する
4 に答える
2493 参照

django - GAE データストアを使用した複雑なクエリ

私はスポーツ統計 Web サイト (究極のフリスビー) を開発する初期段階にいます。Google App Engine が私に適しているかどうか、意見をお聞かせください。

私は Django を使用して Python で作成しており、何年も標準の RDBMS に慣れてきましたが、このサイトは長期的なプロジェクトであり、非常に大量のデータが予想されるため、GAE データストアが提供する「無限」のスケーリングが必要です。データベースへのクエリの大部分は非常に標準的な結果を返すため、データストアが論理的な選択のように見えます。ただし、将来的には非常に複雑なクエリを作成して、新しい統計メトリックを作成したり、単に興味深い結果を作成したりしたいと考えています. 将来的にはこれをたくさん行う予定ですが、データがすでに収集されるまで、これらのクエリが何であるかはわかりません。

たとえば、野球の統計アナリストが次のようなばかげた統計を発表するのをよく目にします。日々"。将来的には、どんなクエリでも柔軟に作成できるようにしたいと思います。:)

ただし、bigtable のような非リレーショナル データベースでは、事前に冗長データを含むモデルを考え出す必要があり、すべての作業はフェッチではなく挿入で行われるという印象を受けます。照会する必要があるほぼすべてのデータを含む django モデルを既に構築しましたが、1 年か 2 年後にどんな非正規化モデルが必要になるかわかりません。したがって、将来的に複雑なクエリを作成することは、GAE データストアでは非常に難しくなり、Python で処理する前にサーバーから大量の情報を引き出す必要があると思います。

グーグルアプリエンジンのデータストアは、私がやりたいことに対して単に間違っていますか? または、何かが足りないだけです。よろしくお願いします!

更新: これまでの応答に感謝します。これらの複雑なクエリの多くは、ユーザーに実行してもらいたいクエリであるため、オフライン データベースは実際にはオプションではないことにも言及する必要があることを認識しています。たとえば、ユーザーは、特定のゲームまたはシーズン中に、特定の 2 人のプレーヤーが同時にフィールドにいるときのプレーのさまざまな統計を確認できる必要があります。これらのクエリは、標準の集計統計ほど頻繁ではありませんが、定期的に発生します。

リレーショナル データベースと GAE データストアがあると便利ですが、django はデフォルトで複数のデータベースをまだサポートしておらず、ソリューションをまとめてパッチを適用するのは困難で面倒に思えます。Eric Florenzano は、両方とも django モデルを使用する 2 つのデータベースに対する優れたソリューションを提供していますが、GAE データストアを使用する場合は、代わりにアプリ エンジンの db モデルを使用する必要があります。そして、彼がこの複雑な問題に対して行ったような優れた解決策を考え出すことは、現時点で私のスキルレベルを少し超えています.

現在、私のお気に入りの 2 つのオプションは、GAE タスク キューを使用して難しいクエリを実行するか、webfaction などのより標準的な Web ホストにアクセスし、後でデータが大きくなり、パフォーマンスを向上させる必要がある場合にテーブルを非正規化することです。

0 投票する
2 に答える
839 参照

google-app-engine - App Engine: ListProperties に特定のアイテムが存在するエンティティを選択するためのフィルタ

特定の要素が存在する ListProperties の 1 つに基づいてエンティティをフィルタリングする必要があります。のようなもの:

entities.filter('listProp IN ',element) ただし、listProp と element が逆になっている場合を除きます。

このようにフィルタリングする方法を知っている人はいますか?

0 投票する
7 に答える
4082 参照

python - データストアに辞書を置くにはどうすればよいですか?

Python辞書をデータストアに保存する良い方法はありますか?私は次のようなことをしたいです:

もちろん、その最後の行は実際には機能しません。キーと値のペアのリストであるホップが必要です。キーは常に文字列であり、値は文字列、int、またはfloatにすることができますが、それを実行できるものは何も表示されません。プロパティクラス

0 投票する
1 に答える
730 参照

database - Google App Engine データストア参照かどうか?

さまざまな国のテキスト アイテムでBig Tableを埋めています。私の質問は: referencePropery を使用して別のテーブルの言語にリンクする必要がありますか (これは、通常の MySQL リレーショナル データベースで行う方法です)、それともテーブル内の各テキストに言語を指定するだけで冗長になりますか?

良い点: 冗長性とストレージ使用量の増加、 または より多くのクエリとより多くの CPU 使用率

データベースが完成したら、データベースにクエリを実行して、各国のテキスト アイテムを含むさまざまなリストを取得する必要があります。

0 投票する
2 に答える
1121 参照

python - ローカルのappengineデータストアからリモートのデータストアにデータを移動するにはどうすればよいですか?

ここで概説するように、リモートデータストアをローカルにダウンロードする方法と、CSVをリモートアプリエンジンサーバーにアップロードする方法を確認できます。

データのアップロードとダウンロード

しかし、リモートアップロードスクリプトの準備ができているCSVにローカルデータをエクスポートする方法はありますか?もちろん、カスタムエクスポーターを作成することもできますが、このプロセスを自動化する方法はありませんか?

0 投票する
2 に答える
1361 参照

python - 不可解な App Engine データストアの問題 (ListProperty)

わかりましたので、ローカルとgaeクラウドに同じpythonコードがあります。

エンティティをローカルに保存すると、set 要素タイプ datetime.datetime の ListProperty フィールドは Datastore Viewer で次のように表示されます。

同じものをクラウドに保存すると、ビューアに次のように表示されます。

なぜ異なる表現ですか?

これは気になりません.クラウド上でこのフィールドを照会した場合にのみ、クエリは一致するエンティティを見つけることができません. 繰り返しますが、コードは同じです。

これが起こっている理由と解決策を考えている人はいますか?

更新:私のクエリは次のとおりです(フィルターを使用):

結果は 1 である必要があり、代わりに 0 です。

実際には、指定された値 datetime.datetime を持つ ListProperty だけが問題です。StringListProperty に対するクエリは、クラウド上で期待どおりに機能しています。

ローカルとクラウドの両方で対話型コンソールを介して raw フィルターを試しましたが、クラウドでは結果が得られません。したがって、それはデータストアの問題です。ストレージ形式と関係があるに違いないと思います.ListPropertyが次のように見える両方のデータストアにエンティティ値が1つしかありません。

それぞれローカルとクラウドで。

何か案は?

更なるアップデート

datetime.now() をハードコードされた datetime obj に置き換えました - サンプル フィルターは次のようになります。

上記の datetime ListProperty の範囲が 1.1.2009 から 3.9.2010 の場合、これは上記のエンティティを返す必要があることに注意してください。ローカルホスト開発サーバーでこの同一のフィルターを試したところ、そうでした。クラウドは、datetime.datetime ListProperty の表現が異なりますが、そうではありません。

これは、日付範囲でフィルタリングするための現在のベスト プラクティスから取られていることに注意してください。

何が間違っている可能性がありますか?

0 投票する
3 に答える
895 参照

python - Djangoフォームを介したデータストアへのGAE画像の投稿

私はアバターをユーザーのプロフィールページに投稿することを含む小さなサイドプロジェクトに取り組んでいますが、それは十分に簡単なようです。GAEWebサイトの「ImagesPythonAPIの使用」の指示に従っています。

ただし、彼らが提供するサンプルはDjangoでは機能しないようです。この辺りを検索すると、同様の問題のあるスレッドが見つかりましたが、解決策はGAEで新しいバージョンのDjangoを使用したことによるものだと言いました。私はこの回避策を回避し、ビルドインAPIで実行しようとしています。私はPythonとDjangoの両方に慣れていませんが、収集できることから、画像を変換してデータストアに送信する関数に画像が適切に投稿されていません。これが私のコードです:

アバターフィールドを除いて、他のすべてのフィールドは正しく追加されます。変更されたリクエスト文字列は、修正を含む前述のスレッドからのものです。アバターにアクセスしようとすると、これがちょっと奇妙になりますが、ページには、私が設定したデフォルトの画像ではなく、壊れた画像が表示されます。これにより、フィールドがnullまたは欠落していても、要求時に一意のキーを描画するための何かがそこにあると私は信じています。画像表示機能は次のとおりです。

これも機能させるためにさまざまなバリエーションを試しました。最初は、手順のコードブロックを使用したことを信頼してください。

どんな助けでも大歓迎です。

前もって感謝します。