我计划使用URL Fetch在两个GAE网络应用之间交换NDB实体。
一个Web应用程序可以使用实体模型名称,起始实体索引号和要获取的实体数启动HTTP POST请求。每个实体都有一个索引号,对于新实体,索引号将按顺序递增。
发送实体:
可以添加一些分隔符以分隔不同的实体以及分离实体的属性。 HTTP响应将具有包含实体数据的变量(例如"内容")。
接收Side Web APP:
接收方Web应用程序将解析收到的数据,并通过创建新实体来存储实体及其属性值,然后放置它们
两个网络应用程序都运行GAE Python,并且具有相同的模型。
我的问题: 上述方法有什么缺点吗? 有没有更好的方法在代码中以自动方式实现这一目标?
我打算将此实现用于某种不常见的数据备份设计实现
答案 0 :(得分:2)
您可以对实体使用NDB to_dict()方法,并使用json交换数据。 如果有很多数据,你可以使用光标。
要交换实体密钥,您可以将安全密钥添加到字典中。
答案 1 :(得分:0)
由于数据变化不会频繁(例如三个月一次) 对于一个实体甚至更晚的),
我建议使用数据存储管理员来复制数据。
如果您想获得更多控制权,请使用端点proto datastore api或remote_api。