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

时间:2018-09-20 14:58:30

标签: 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 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是“(默认)”,如本文中所述:How to find the database id of a cloud firestore project?

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

1 个答案:

答案 0 :(得分:2)

Parenthesis are special characters in the bash command shell.您将需要对其进行转义,以便按字面意义使用它们,而不是由Shell对其进行解释。在这里,我只是将--trigger-resource parameter用单引号引起来,所以括号不会有特殊含义:

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