咨询:Workflows Firestore连接器是否不支持命名数据库?
问题解答
你的判断不完全准确:Google Cloud Workflows的Firestore适配器本身支持命名数据库,但需要手动添加特定请求头来指定目标数据库,否则会触发你遇到的路由错误。
错误核心原因
Firestore的命名数据库要求请求必须携带x-goog-request-params头,明确声明project_id和database_id,而默认情况下Workflows的Firestore适配器不会自动注入这个头,导致请求无法正确路由到非默认数据库,从而返回INVALID_ARGUMENT错误。
解决方法
在Workflows的Firestore调用步骤中,通过headers字段手动添加该请求头即可:
steps: - update_named_firestore: call: googleapis.firestore.v1.projects.databases.documents.update args: name: "projects/[你的项目ID]/databases/[你的命名数据库ID]/documents/[集合路径]/[文档ID]" headers: x-goog-request-params: "project_id=[你的项目ID]&database_id=[你的命名数据库ID]" body: fields: # 填写你的更新字段,例如: status: { stringValue: "completed" }
关键注意事项
- 确保
name参数中的数据库ID与请求头里的database_id完全一致 - 项目ID需与当前Workflows所属项目匹配,避免跨项目权限问题
- 所有涉及命名数据库的Firestore操作(如创建、查询、删除),都需要添加该请求头
内容的提问来源于stack exchange,提问作者Aron Suarez
相关产品推荐
相关产品推荐

