Cloud Pub/Sub 子目录上 Cloud Storage 的通知

Cloud Pub/Sub Notifications for Cloud Storage on sub directory

我想听听子桶中 GCS 的变化

我试过了

gsutil notification create -t  my-topic -f json gs://my-bucket

但它会通知我所有个对象

的变化

有没有办法只从子目录获取,像这样:

gsutil notification create -t  my-topic -f json gs://my-bucket/sub-dir

确实有一种方法可以将通知限制为存储桶内的 "directory"。请记住,Cloud Storage 是一个 "flat" 存储系统,其中不存在目录的概念;相反,GCS 将名称以 / 结尾的 blob 解释为文件夹,但实际情况是,当在 "folder" 中创建对象时,唯一的区别是它的文件夹名称为对象名称中的前缀。然后,结构如下:

gs://my-bucket
|_objectA
|_folder
  |_objectB
  |_subfolder
    |_objectC

将转化为以下对象名称:

# Object names
gs://my-bucket/objectA
gs://my-bucket/folder/
gs://my-bucket/folder/objectB
gs://my-bucket/folder/subfolder/
gs://my-bucket/folder/subfolder/objectC

知道这一点后,您可以 use the -p option 使用 gsutil notification create 命令为要从中获取通知的对象指定前缀路径过滤器。它会是这样的:

gsutil notification create -t my-topic -f json -p folder/ gs://my-bucket

请注意,-p 标志只是设置对象的路径前缀,因此您还可以使用它为名称以给定字符串开头的所有对象创建通知警报。在这种情况下,如果此 给定字符串 / 结尾,则表示您希望收到存储桶中文件夹中对象的通知。