我正在尝试将我的数据从 Cloud SQL 移动到 Cloud Datastore。
SQL 数据库中有不到 500 万个条目。
在收到配额错误之前,我似乎每天只能移动超过 100,000 个实体。
我无法弄清楚我超出了哪个确切的配额,但是我有指数退避来确保我不会发送得太快。
最终它达到 5 分钟,与 SQL 服务器的连接断开,但我不认为每秒写入配额是问题所在。在我的 API 页面或 App Engine API 页面中,我没有看到任何其他配额超出。
我尝试了两种不同的 API 来编写记录。
GCP 数据存储区 API
导入 googledatastore
这是代码:
https ://gist.github.com/nburn42/d8b488da1d2dc53df63f4c4a32b95def
以及来自 apache_beam.io.gcp.datastore.v1.datastoreio的 Dataflow API
import WriteToDatastore
这是代码:
https ://gist.github.com/nburn42/2c2a06e383aa6b04f84ed31548f1cb09
这是我在写一到二十万次后看到的错误。
RPCError:数据存储调用提交 [在运行“写入数据存储/将突变写入数据存储”时] 失败:错误代码:RESOURCE_EXHAUSTED。消息:超出配额。
我在计算引擎上运行它。
任何帮助是极大的赞赏!谢谢,
内森