【问题标题】:Access to the Google Cloud Storage Trigger Events "Pub/Sub"?访问 Google Cloud Storage 触发事件“Pub/Sub”?
【发布时间】:2021-08-22 03:34:28
【问题描述】:

我在最大实例数为 5 的云函数上设置了 Google 云存储触发器,以触发云存储桶的 google.storage.object.finalize 事件。 The docs state that these events are "based on" the Cloud Pub/Sub.

有谁知道:

  • 有什么方法可以在控制台或通过 CLI 查看主题或订阅的配置?
  • 有什么方法可以获取队列深度(或等价物?)
  • 有什么方法可以清除事件吗?

【问题讨论】:

    标签: google-cloud-platform google-cloud-functions google-cloud-storage google-cloud-pubsub


    【解决方案1】:

    不,不,不。当您将 Cloud Functions 插入 Cloud Storage 事件时,所有东西都由 Google 在幕后处理,您什么也看不到,也无法与任何东西交互。

    但是,您可以更改通知机制。而不是直接在 Cloud Storage Event 上插入您的 Cloud Functions,plug a PubSub on your Cloud Storage event

    从那里,您可以访问您的 pubsub。监控队列,清除它,创建你想要的订阅,...

    【讨论】:

      【解决方案2】:

      使用存储通知的推荐方法是使用 Pubsub。

      旧版存储通知仍然有效,但使用 pubsub,您可以“窥视”pubsub 消息队列并在需要时清除它。

      此外,您可以使用云运行处理 pubsub 事件 - 这更容易开发和测试(只是 Web 服务)、更容易部署(只是一个容器)并且它可以并行处理多个请求而无需支付更多费用(很棒当你有很多请求时)。

      pubsub 存储通知在哪里?

      您可以使用 gsutil 命令查看 gcloud 通知的去向:

      % gsutil notification list gs://__bucket_name__
      projects/_/buckets/__bucket_name__/notificationConfigs/1
              Cloud Pub/Sub topic: projects/__project_name__/topics/__topic_name__
              Filters:
                      Event Types: OBJECT_FINALIZE
      

      有什么方法可以获取队列深度(或等价物?)

      在 pubsub 中,您可以订阅多个主题。 如果没有订阅,消息就会丢失。

      要将数据发送到云功能或云运行,您需要设置推送订阅。 根据我的经验,您将无法看到发生了什么,因为您可以更快地点击:您会在 99.9999% 的时间里找到这个空白。

      您可以在控制台中检查“队列”深度(发布订阅 -> 选择主题 -> 选择订阅)。

      如果您需要对此进行故障排除,请设置第二个订阅,并设置足够低的生存时间以不占用大量空间(您需要为此付费)。

      有什么办法可以清除事件吗?

      您可以清空来自 pubsub 订阅的消息,但是... ...如果您对云功能使用推送通知,它会比您“点击”快得多。

      如果您需要,它在 Web 控制台上(打开 pubsub 订阅并单击右上角的垂直“...”)。

      【讨论】:

        猜你喜欢
        • 2021-02-21
        • 1970-01-01
        • 2019-10-12
        • 2019-12-26
        • 2021-07-20
        • 2022-01-01
        • 2022-01-13
        • 2021-01-05
        • 1970-01-01
        相关资源
        最近更新 更多