繁体   English   中英

使用 eventarc 定位多个存储桶?

[英]target multiple buckets with eventarc?

目前我们正在尝试使用 eventarc 向我们发送桶的所有最终文件。 然而,这项工作创建,目前看起来 event-arc 只能针对单个存储桶,我们需要为它自己的每个存储桶启用它。 有没有办法针对多个存储桶?

目前我们使用以下内容来创建 eventarc 触发器:

gcloud eventarc triggers create storage-events \
--location="$LOCATION" \
--destination-gke-cluster="CLUSTER-NAME" \
--destination-gke-location="$LOCATION" \
--destination-gke-namespace="$NAMSEPACE" \
--destination-gke-service="$SERVICE" \
--destination-gke-path="api/events/receive" \
--event-filters="type=google.cloud.storage.object.v1.finalized" \
--event-filters="bucket=$BUCKET" \
--service-account=$SERVICEACCOUNT-compute@developer.gserviceaccount.com

问题是,我们为每个客户生成一个存储桶,因此我们需要为每个存储桶创建触发器(很多)有没有更简单的方法?

你有几个选择。

如果要使用原生事件google.cloud.storage.object.v1.finalized ,则必须 select 一个且只有一个桶。 因此,您必须为每个存储桶创建一个 eventarc。

如果您可以使用审计日志事件storage.objects.create ,则必须激活审计日志,但您不能过滤存储桶。 所有的桶都在听。 如果您不想要,您可以使用Cloud logging 路由器来丢弃您不想要的日志(尤其是您不想要的存储桶上的审核日志)

一个最新的解决方案,如果你真的想使用 eventarc,特别是对于消息的 Cloud Event 格式,你可以这样做:

  • 为您要收听的所有存储桶创建 Coud Storage PubSub 通知 每次都使用相同的 PubSub 主题
  • 在 PubSub 上创建一个自定义 eventarc 并捕获主题上发布的消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM