python中firebase\u admin database collections()方法存在问题

2024-09-30 05:29:27 发布

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

我曾经使用此代码将Firestore数据库的副本获取到本地,但最后一天我突然发现此错误:

google.api_core.exceptions.InvalidArgument: 400 Document parent name "projects/some-niceproject/databases/(default)" lacks "/" at index 43.

总结如下:

grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
        status = StatusCode.INVALID_ARGUMENT
        details = "Document parent name "projects/some-niceproject/databases/(default)" lacks "/" at index 43."
        debug_error_string = "{"created":"@1560895696.899080325","description":"Error received from peer ipv4:172.217.17.10:443","file":"src/core/lib/surface/call.cc","file_line":1046,"grpc_message":"Document parent name "projects/some-niceproject/databases/(default)" lacks "/" at index 43.","grpc_status":3}"

所以,我通常的方法是,初始化应用程序,并实例化firestore客户端:

default_app = firebase_admin.initialize_app(
            credential=cred
        )
firestore_db = firestore.client()

现在没问题,这不是我第一次这么做,但是当我这么做的时候问题就出现了。你知道吗

因为我认为问题是在数据库路径的末尾只缺少“/”,所以我一直在尝试设置它,有些是这样的:

print(firestore_db._rpc_metadata_internal)
[('google-cloud-resource-prefix', 'projects/some-niceproject/databases/(default)')]
firestore_db._rpc_metadata_internal = [('google-cloud-resource-prefix', 'projects/some-niceproject/databases/(default)/')]
print(firestore_db._rpc_metadata_internal)
[('google-cloud-resource-prefix', 'projects/some-niceproject/databases/(default)')]

但没有结果。你知道吗

最糟糕的是,如果我设置了某个集合的名称,我就可以毫无问题地访问文档。你知道吗

我曾尝试将grpcio降级到较旧的版本(现在是1.21.1)和firebase\u admin,但没有任何结果。你知道吗

我可以继续工作,确切地告诉每个集合的名称,但我不希望它将是必要的,因为我在一个包中工作,以更容易地复制firebase数据库。你知道吗

你知道这个新错误的原因吗?非常感谢!你知道吗


Tags: name数据库defaultdbindexgooglesomedocument

热门问题