私のアプリは、エンティティがデータストアに存在しないことが多い少数のキーを計算できます。たとえば、15 個のキーの一括 get を送信すると、そのうち 4 個だけがエンティティを返します。
ドキュメントでは、get は 1 回の読み取り操作として課金されると単純に述べています。エンティティが存在しない場合でも、これは当てはまりますか?
私のアプリは、エンティティがデータストアに存在しないことが多い少数のキーを計算できます。たとえば、15 個のキーの一括 get を送信すると、そのうち 4 個だけがエンティティを返します。
ドキュメントでは、get は 1 回の読み取り操作として課金されると単純に述べています。エンティティが存在しない場合でも、これは当てはまりますか?
キーの割り当て (キーごと) に対して支払いが発生し、少額の料金が変更されます (現在、100,000 操作ごとに 0.01 ドルかかります)。
請求ページでキーを使用して 10 個のエンティティを取得すると、10 個の小さな単位 + 読み取り単位 * 見つかったエンティティの費用がかかることを理解している場合。
私は自分自身を確認することにしました.tl; drあなたは結果を気に入らないでしょう.
単純なモデルと、モデルを 10,000 回要求するハンドラーを作成しました。
class DevNull(db.Model):
pass
class EmptyHandler(webapp2.RequestHandler):
def get(self):
for i in xrange(10):
keys = [db.Key.from_path('DevNull', i*j+1) for j in xrange(1000)]
res = DevNull.get(keys)
print len(res)
読み取りクォータは毎回 10,000 回の読み取り操作で急増し、そのうち 5 回で空きクォータが失われます。
「いいえ、存在して返されたエンティティに対してのみ課金されます。」
これが Google からの正式な回答になることを期待しています。:D