【问题标题】:GCP cloud functions, how to trigger everything in a bucket?GCP云函数,如何触发桶中的一切?
【发布时间】:2019-02-19 17:09:49
【问题描述】:

我正在使用 Google 云功能。我的第一个结论是:它们真的很完美!我创建了一个函数,该函数通过对存储在存储桶(或新上传)中的文档的修改触发。这很好用。

但后来我开始思考:如果我想触发存储桶中的所有文件以针对 NEW 函数执行。之前的函数已经针对所有文件运行,所以我更喜欢只对所有文档运行 NEW 函数。

你们是怎么做到的?所以基本上我的问题是:

  • 您如何跟踪文件已经应用了哪些功能?
  • 如何触发所有文件重新应用所有功能?
  • 如何只为一个(新)函数触发所有文件?

【问题讨论】:

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


    【解决方案1】:

    您如何跟踪哪些函数已应用于 文件?

    Cloud Functions 触发事件。一旦事件触发,就会调用云函数(如果设置为这样做)。除了 StackDriver 之外,GCP 中没有任何东西会跟踪这一点。您的函数将需要跟踪它们的操作,包括为哪个对象触发。

    如何触发所有文件重新应用所有功能?

    没有命令或功能可以触发所有文件的功能。您需要自己实现此功能。

    您如何为一个(新)功能触发所有文件?

    没有命令或功能可以触发新功能的功能。您需要自己实现此功能。

    根据您尝试实施的架构,大多数人使用 Cloud Datastore 等数据库来跟踪存储桶中的对象、发生的转换和结果。

    使用数据库可以让您实现目标,但需要付出一些努力。

    请注意,Cloud Functions 在运行 540 秒后会出现超时。这意味着如果您有数百万个文件,您将需要实施重叠策略来处理这么多对象。

    对于需要处理数百万个对象的情况,我通常会启动 App Engine Flexible 或 Compute Engine 来完成大型任务,然后在完成后关闭。主要原因是 Google Storage 和 Datastore 的带宽非常高。

    【讨论】:

      猜你喜欢
      • 2021-02-13
      • 1970-01-01
      • 2023-01-03
      • 1970-01-01
      • 2021-02-14
      • 2020-05-16
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多