Google app engine appengine玩具程序达到读写配额限制

Google app engine appengine玩具程序达到读写配额限制,google-app-engine,google-cloud-datastore,blobstore,gae-quotas,Google App Engine,Google Cloud Datastore,Blobstore,Gae Quotas,比如说,我想制作一个appengine应用程序,它存储一个50000字的字典,以及其他10种类似大小的语言中的等效字典 我在我的dev服务器上本地实现了这个功能,但是当我将第一个字典加载到真正的appserver中时,我立即超过了我的每日写入量配额。我不知道有多少字典条目进入了数据存储。所以,24小时后,我去批量下载字典,看看我到底有多少词条,但这样做我达到了每天阅读量的配额,没有得到任何回报。我尝试在设置每日最高1.00美元时启用计费,并通过bulkloader达到该配额,但没有获得任何关于我

比如说,我想制作一个appengine应用程序,它存储一个50000字的字典,以及其他10种类似大小的语言中的等效字典

我在我的dev服务器上本地实现了这个功能,但是当我将第一个字典加载到真正的appserver中时,我立即超过了我的每日写入量配额。我不知道有多少字典条目进入了数据存储。所以,24小时后,我去批量下载字典,看看我到底有多少词条,但这样做我达到了每天阅读量的配额,没有得到任何回报。我尝试在设置每日最高1.00美元时启用计费,并通过bulkloader达到该配额,但没有获得任何关于我的麻烦或1.00美元的数据

总之,我查看了我的数据存储查看器,它显示我的每个字典单词都需要8次写入数据存储

那么,这是否意味着这种应用程序不适合appengine?我不应该把字典放在里面吗?有没有更聪明的方法?例如,我是否可以将字典以文件形式存储在blob存储中,然后从那里以编程方式处理它


谢谢你的建议

你很可能读的比写的少,所以问题是要把数据放进去,而不是读太多

因此,使用当前配置所需要做的就是降低写入速率。然后,你大概会根据每个单词的ID(我希望是单词本身!)来读取每个单词,因此读取速度会很快,而且会很小,完全符合你的要求

你可以这样做:把你的源数据每封信分成一个文件。将这些文件与应用程序一起上载,并创建一个任务,依次读取每个文件,然后缓慢地将数据写入数据存储。一旦该任务完成,它的最后一个操作就是调用下一个任务

它可能需要一周的时间来完成,但一旦它到了那里,它将比你必须从blob商店获得的一个不透明blob更方便,为你真正感兴趣的每一个1读N个单词,然后为每个单词解包和处理


您也可以使用批量下载器上传数据

我喜欢这个,谢谢。很高兴知道这是可行的。我担心我会听到“你不能那样做”之类的话。谢谢你的建议。事实上,我使用的是bulkloader.py,所以我很快就达到了配额,但我喜欢将它编写成小批量脚本,无人值守运行,可能需要一周时间,但至少可以完成。THX也许可以使用后端做一些事情,它们每天可以免费运行约9个小时,但可以运行耗时较长的任务,因此在这里可能很有用,具体取决于您希望如何进行。此外,如果您使用NDB和get by密钥,该密钥将自动为您缓存。如果您自己通过远程api进行写入,则可以绝对控制写入频率,更新过程将在本地运行。