(Google App Engine) Bulkloader 上传会生成新条目,而不是更新现有条目

发布于 2024-11-02 08:32:24 字数 489 浏览 0 评论 0原文

对于我的项目,我使用 GAE 数据存储来存储数据。用于备份 目的我决定使用bulkloader - 它下载整个 数据完美保存在 csv 文件中。上传数据也很好 没有错误。

我的问题是,上传不会更新现有数据,而是 创建重复项。以下是数据存储查看器的示例:

更新前:

ID/Name 
id=18000
id=20001 

更新后:

ID/Name
id=18000
id=20001
name=18000
name=20001 

在数据存储实体中,我将其用作数据 ID:

@PrimaryKey 
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) 
private Long id; 

知道如何使用批量加载器实际更新现有数据吗?

谢谢,亚当

for my project I am using GAE datastore to store data. For backup
purpose I decided to use the bulkloader - which downloads the whole
data perfectly in a csv file. Also the upload uploads the data fine
without errors.

My problem is, that the upload do not update the existing data but
creates duplicates. Here an example from the datastore viewer:

Before update:

ID/Name 
id=18000
id=20001 

After update:

ID/Name
id=18000
id=20001
name=18000
name=20001 

In the datastore entity I am using this as an data id:

@PrimaryKey 
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) 
private Long id; 

Any Idea how I can actually update existing data with bulkloader?

Thanks, Adam

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜唯美灬不弃 2024-11-09 08:32:24

bulkloader 的默认设置有一个令人讨厌的习惯,即破坏值的类型。这对于键和列表来说尤其是一个问题。

我使用这些辅助函数 bulk_helper,并添加这到我的bulkloader.yaml:

python_preamble:
- import: bulk_helper
...

property_map:
  - property: __key__
    external_name: key
    import_transform: bulk_helper.reverse_str_to_key
    export_transform: bulk_helper.key_to_reverse_str

这保留了完整的密钥,包括种类和父信息,并使其保持人类可读(如果这对您很重要)。

bulkloader's default settings have a nasty habit of stomping the types of values. This is especially a problem for keys and lists.

I use these helper functions bulk_helper, and add this to my bulkloader.yaml:

python_preamble:
- import: bulk_helper
...

property_map:
  - property: __key__
    external_name: key
    import_transform: bulk_helper.reverse_str_to_key
    export_transform: bulk_helper.key_to_reverse_str

This preserves the full key, including kind and parent info, and keeps it human readable (if that's important to you).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文