Google Cloud功能部署无法正常工作-Firestore事件

Roe*_*ltm 3 gcloud google-cloud-functions google-cloud-firestore

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

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
Run Code Online (Sandbox Code Playgroud)

这将导致以下错误:

deploy.sh: line 7: syntax error near unexpected token `('
deploy.sh: line 7: `  --trigger-resource projects/project-id/databases/(default)/documents/test/test_id \'
Run Code Online (Sandbox Code Playgroud)

当我将'(default)'更改为'default或任何其他字符串'时,脚本执行得很好。但是然后云功能将不起作用,因为可以用于Firestore数据库的唯一ID是“(默认)”,如本文中所述:如何查找云Firestore项目的数据库ID?

这是错误吗?或者我可以以某种方式解决此问题?

Dou*_*son 5

括号是bash命令外壳程序中的特殊字符。 您将需要对其进行转义,以便按字面意义使用它们,而不是由Shell解释它们。在这里,我只--trigger-resource parameter用单引号引起来,所以括号不会有特殊含义:

--trigger-resource "projects/project-id/databases/(default)/documents/test/test_id"
Run Code Online (Sandbox Code Playgroud)