__BlobFileIndex__ 填充数据存储配额

Posted

技术标签:

【中文标题】__BlobFileIndex__ 填充数据存储配额【英文标题】:__BlobFileIndex__ fills Datastore Quota 【发布时间】:2012-11-21 21:32:46 【问题描述】:

我将对象序列化到应用程序中的 blobstore,并在它们发生更改时删除并重新创建它们。我知道这不是最好的方法,但我发现这是快速原型制作的好方法。

现在我正处于使用数据存储的阶段,但是我遇到了问题。我的数据存储配额已满! :) 我为这个问题做了很多搜索,但我在这里。

显然对于每个 blob,__BlobInfo____BlobFileIndex__ 种类保留有关 blob 的信息.我的问题是当我删除 blob 时,__BlobInfo__ 中的信息被删除,但 __BlobFileIndex__

我拼命尝试了 appcfg vacum_indexes,但没有达到预期的效果。

顺便说一下,我用的是Java平台。

这是我的问题

    如何清除未使用的 __BlobFileIndex__ 条目? 什么是处理这种情况不再发生的正确方法?

谢谢。

编辑:哇哦!我现在看到我无法删除这些不需要的索引 a) 数据存储区管理员未列出它们 b)手动删除代码抛出异常(java.lang.IllegalArgumentException:非法key.path.element.type:BlobFileIndex)由于以双下划线开头的实体是应用程序引擎保留的实体,它不允许我删除它.谷歌的伙计们,我被困住了 在这里:)

【问题讨论】:

我使用 Python。我知道 SDK 中 Blobstore 的实现/仿真与 GAE 本身不同。在 GAE 中,您没有像 BlobInfo 这样以 __ 开头的额外类型。 您现在是否将 blob 存储在数据存储区中?你对索引是什么意思? GAE 中的 blob 属性没有被索引,BlobFileIndex 应该是什么? @voscausa 在数据存储查看器中运行“SELECT * FROM _____BlobFileIndex_____”会为我返回大量结果。 @Cigiller。你说的很对。查询提供隐藏的种类。 @fmt.Println.MKO 不,我不在数据存储区中存储 blob。 Blob 元数据由应用引擎存储在数据存储中,这就是问题所在。 【参考方案1】:

一旦有解决方案,您可以在此问题上加注星标以得到通知...http://code.google.com/p/googleappengine/issues/detail?id=6849

【讨论】:

我已经做到了。第 20 个抱怨者是我 :) 我所寻求的至少是一种解决方法,直到它修复为止。【参考方案2】:

我遇到了这个问题,但找到了解决方案:

对于任何试图以编程方式删除 BlobFileIndex 的人,您可以这样做:

query = datastore.Query("__BlobFileIndex__",'blob_key': a_blob_key, keys_only=True)
    key = query.Get(1)
    key_y = key[0]
    datastore.Delete(key_y)

【讨论】:

这对我不起作用。在删除时,我收到错误:BadRequestError: The kind "BlobFileIndex" is reserved

以上是关于__BlobFileIndex__ 填充数据存储配额的主要内容,如果未能解决你的问题,请参考以下文章

我有 2 个组合框(comboBox_1,comboBox_2)comboBox_1 并用正确的数据填充组合框_2

Juc18_Java内存模型对象头Mark Word实例数据对齐填充谈谈new Object( )占多大内存

数据分析&数据挖掘相同数据结构互相填充

使用 Python 用稀疏的 CSV 数据填充 Pandas 数据框

计算机图形学输出图元_10_多边形填充区_4_多边形表

计算机图形学输出图元_10_多边形填充区_4_多边形表