gpt4 book ai didi

google-app-engine - 如何使用 appcfg.py 将重复属性上传到 ndb 数据存储区

转载 作者:太空宇宙 更新时间:2023-11-03 15:36:52 25 4
gpt4 key购买 nike

我一直在使用 appcfg.py 非常成功地上传数据,但我不确定如何在 bulkloader.yaml 中为重复属性设置导入转换或如何构造 CSV。例如:

在一个看起来像这样的 post 模型中:

class Post(models.Model):
tags = ndb.StringProperty(repeated=True)

bulkloader.yaml 如下所示:

transformers:
- kind: Post
connector: csv

property_map:
- property: __key__
external_name: key
export_transform: transform.key_id_or_name_as_string
- property: tags
external_name: tags
import_transform: ???

import_transform 是为此注册的正确 API 吗?还是有其他方法可以做到这一点?

最佳答案

我尝试了一种两步法,使用 import_transform 似乎可行。首先创建一个模块(本质上是一个自定义转换文件),假设是 bulkmodify.py。然后在 bulkmodify 中定义一个将传入值转换为列表的转换

def list_convert(value):
output=[value]
return output

然后在您的 bulkloader.yaml 文件中为您的重复属性指定导入转换:

import_transform: bulkmodify.list_convert

另外不要忘记将您的模块包含在 bulkloader.yaml 文件顶部的导入列表中。

-导入:bulkmodify

在我输入的 CSV 中,数据结构包含多个引号,因此批量加载器将它们作为具有多个列出值的单个属性引入

key,"""tag1"",""tag2"",""tag3""", property3, etc.

关于google-app-engine - 如何使用 appcfg.py 将重复属性上传到 ndb 数据存储区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14324311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com