如何将Firestore数据库从Google存储桶导出到Json文件

2024-05-09 13:27:25 发布

您现在位置:Python中文网/ 问答频道 /正文

情况是这样的:我有一个Firestore数据库。我每天都把它下载到谷歌云存储桶中作为备份。如果我想在本地下载它,我可以使用这个命令gsutil -m cp -r gs://BUCKET_PATH "DESTINATION_PATH"来完成它,它可以正常工作

我的问题:我下载的Bucket的格式是LevelDB(我想)。在我的机器上,它看起来像这样:

enter image description here

例如,当我通过Google Storage下载时,这是我在Firestore中的/users集合。在这个文件夹中,我有多个二进制文件(“output-…”)和一个元数据文件(这里是:“all\u namespaces\u kind\u users”)

我的目标:我希望能够读取json文件中的数据库

我的尝试

#repoRoot = os.getcwd()
repoRoot = os.path.dirname(os.path.realpath(__file__))

# import google sdks
sys.path.append(os.path.join(repoRoot, 'SDKs/google_appengine'))
sys.path.append(os.path.join(repoRoot, 'SDKs/google-cloud-sdk/lib/third_party'))
from google.appengine.api.files import records
from google.appengine.datastore import entity_pb
from google.appengine.api import datastore

我的问题:如何将Firestore数据库(存储在Google Bucket中)转换为json文件? 也许有人有完全不同的提议方式?还是我应该坚持我的方式?在这种情况下,如何使用更新的google Libraries完成将转换器转换为Python 3的工作

奖金问题:谷歌怎么没有一个干净的解决方案?(还是我很愚蠢?)


Tags: 文件pathfromhttpsimportapi数据库os