Google cloud firestore Google云功能部署不工作-firestore事件

Google cloud firestore Google云功能部署不工作-firestore事件,google-cloud-firestore,google-cloud-functions,gcloud,Google Cloud Firestore,Google Cloud Functions,Gcloud,我正在尝试通过本地终端部署云功能。为此,我使用以下代码: gcloud beta functions deploy networkcheck \ --region=europe-west1 \ --project=project-id \ --entry-point functionName \ --trigger-event providers/cloud.firestore/eventTypes/document.write \ --trigger-resource pr

我正在尝试通过本地终端部署云功能。为此,我使用以下代码:

gcloud beta functions deploy networkcheck \
  --region=europe-west1 \
  --project=project-id \
  --entry-point functionName \
  --trigger-event providers/cloud.firestore/eventTypes/document.write \
  --trigger-resource projects/project-id/databases/(default)/documents/test/test_id \
  --runtime nodejs8
这将导致以下错误:

deploy.sh: line 7: syntax error near unexpected token `('
deploy.sh: line 7: `  --trigger-resource projects/project-id/databases/(default)/documents/test/test_id \'
当我将“(default)”更改为“default或任何其他字符串”时,脚本执行得非常好。但是云功能将无法工作,因为Firestore数据库唯一可以使用的id是“(默认)”,如本文所述:

这是虫子吗?或者我能解决这个问题吗

你需要避开它们,这样它们就可以被逐字理解,而不是被你的外壳解释。在这里,我只是将
--trigger resource参数
放在单引号中,这样括号就不会有特殊含义:

--trigger-resource "projects/project-id/databases/(default)/documents/test/test_id"

@songololo可能不是这样——对shell的理解通常是隐含的。并非所有shell的工作方式都相同,而且很难记录每个可能的shell在每个可能的环境中的行为。我认为这可能令人困惑的原因是(默认)与gcloud/GCP上下文相关——可能是为了将函数与正确的默认数据库挂钩?——因此,在用户自己的shell上下文中没有直观的解释。因此,当使用gcloud cli遇到错误时,可能会产生一种想法,即存在问题,例如,每个原始问题的文档中是否存在打字错误?