Firestore文档创建时Eventarc审计日志方法不一致问题咨询
Firestore文档创建触发Eventarc的行为一致性问题
我需要在Firestore创建新文档时触发服务,用Cloud Functions v1时实现起来简单且效果稳定。但改用Eventarc触发Cloud Functions v2或Cloud Run时,始终没法实现和v1一致的可靠触发,感觉哪里没搞明白。
我原本以为,要复刻v1函数的行为,需要匹配服务名为firestore.googleapis.com、方法名为google.firestore.v1.Firestore.CreateDocument的审计日志。但实际测试发现,不同创建文档的方式生成的审计日志方法名并不统一:
- 在GCP或Firebase控制台创建新文档,生成的审计日志方法名为
google.firestore.v1.Firestore.Write - 通过Firestore Client SDK(已在Android上测试)创建新文档,生成的审计日志方法名为
google.firestore.v1.Firestore.Write - 通过Firestore Admin SDK(测试过Node.js的
@google-cloud/firestore、firebase-admin,以及Go的cloud.google.com/go/firestore,行为一致)创建新文档,生成的审计日志方法名为google.firestore.v1.Firestore.Commit
// JS示例,Go实现逻辑类似 const {Firestore} = require('@google-cloud/firestore'); // ...初始化配置 const db = new Firestore({/* 配置参数 */}); const collection = db.collection('users'); const res = await collection.add({});
- 通过Firestore REST API创建新文档,生成的审计日志方法名为
google.firestore.v1.Firestore.CreateDocument
curl --request \ POST 'https://firestore.googleapis.com/v1/projects/MY_PROJECT/databases/(default)/documents/users' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer MY_TOKEN' \ --data '{"fields":{}}'
我的目标是实现和v1函数完全一致的效果,可靠响应所有文档创建操作。目前没有报错,但这种行为不一致的情况很麻烦。我确认操作没有失误,但显然对Eventarc的理解有偏差,想请教到底遗漏了什么,或者需要纠正哪些认知?
内容的提问来源于stack exchange,提问作者Patrick
相关产品推荐
相关产品推荐

