查询不覆盖活数据库的GCP数据存储备份



我正在尝试访问由gcloud数据存储导出创建的备份。我只想访问备份中的一些条目,不想为此修改活动数据库。

到目前为止,我已经试过了:

使用gcloud数据存储导入恢复:似乎我唯一的选择是限制从备份中覆盖的名称空间和类型。如果我不想覆盖任何内容,我可以创建一个新的GCP项目并恢复到该项目。然而,这是一个艰难的选择,因为我不能控制我的组织的账单,并且恢复的备份将超过免费层。

手动解析备份文件:导入导出指南提到:

托管导出的输出使用LevelDB日志格式。

我根据上面链接的语法编写了一个解析器。好消息是,它类似于十六进制编辑器中的数据。不幸的是,似乎每条记录都被包装在一些未记录的二进制格式中,其中还包含名称空间、类型和键的多个副本。我不知道如何解析这个

提前感谢任何帮助或建议!

从GCS桶下载备份:

mkdir ~/my-datastore-backups
gsutil -m cp -r gs://my-datastore-backups/2020-07-30T09:00:07_35225/ ~/my-datastore-backups

将备份导入到数据存储模拟器:

curl -X POST localhost:8081/v1/projects/my-project:import 
-H 'Content-Type: application/json' 
-d '{"input_url":"/home/user/my-datastore-backups/2020-07-30T09:00:07_35225/2020-07-30T09:00:07_35225.overall_export_metadata"}'

最新更新