是否可以将云功能trigger-bucket
参数配置为GCS存储区中的文件夹?
例如,假设我们有以下内容:
gs://a_bucket/a_folder
在部署时,我需要将其设置为文件夹级别,即--trigger-bucket gs://a_bucket
,而不是设置--trigger-bucket gs://a_bucket/a_folder/
。
然而,我收到错误:
错误:(gcloud.beta.functions.deploy)参数--trigger-bucket: 无效的值'gs:// a_bucket / a_folder /':Bucket必须只包含 小写拉丁字母,数字和字符。 _ - 。它必须开始 并以字母或数字结尾,长度为3到232个字符。 您可以选择使用gs://和append / at添加存储桶名称 结束。
https://cloud.google.com/sdk/gcloud/reference/beta/functions/deploy
答案 0 :(得分:0)
无法在文件夹级别设置触发器。
但是,我找到的一个解决方法是,您可以通过挂钩更改通知的name
属性以编程方式在云功能中执行它,因为它包含文件夹和文件名。
E.g。 a_sample.txt
文件位于gs://a_bucket/a_folder/
,name
属性将包含a_folder/a_sample.txt
作为字符串值。
因此,您可以过滤您感兴趣的文件夹。权衡:
如果您可以接受,那么就可以了(直到Google支持在文件夹级别触发)。