特定 Bucket 文件夹上的 Cloud Function 存储触发器
Posted
技术标签:
【中文标题】特定 Bucket 文件夹上的 Cloud Function 存储触发器【英文标题】:Cloud Function storage trigger on folder of a particular Bucket 【发布时间】:2020-08-21 23:37:51 【问题描述】:当存储桶的特定文件夹中的某些内容发生更改时,我有一个执行云功能的场景。当我使用 cli 部署函数并将 BUCKET/FOLDERNAME 作为触发器传递时,它给了我一个错误无效参数。有没有人在文件夹级别触发?
【问题讨论】:
几个月来我一直在烦谷歌...我认为这已经在路线图中(能够在触发器上添加过滤器),但我没有任何时间表!现在,您必须在调用函数时在代码中手动执行检查。 【参考方案1】:您只能指定存储桶名称。您不能在存储桶中指定文件夹。
需要注意的关键点是存储桶的命名空间是平面的。文件夹是模拟的,它们实际上并不存在。存储桶中的所有对象都以该存储桶为父对象,而不是目录。
您实际上可以做的是在您的函数内部实现一个 if 条件,以便仅在请求包含具有您的文件夹名称的对象时才执行操作。请记住,通过采用这种方法,您的函数仍会为上传到您的存储桶的每个对象触发。
【讨论】:
以上是关于特定 Bucket 文件夹上的 Cloud Function 存储触发器的主要内容,如果未能解决你的问题,请参考以下文章
批处理位于 Google Cloud Storage Bucket 上的对象的最佳方法
Google Cloud Storage Bucket 未与 DNS 记录上的 CNAME 相关联,因为我的域使用我的域作为来源
从 Google Cloud Storage 复制时排除特定文件或目录
如何将公共数据集导入 Google Cloud Bucket