【问题标题】:How to receive long running operation results via Google Cloud Pub/Sub API如何通过 Google Cloud Pub/Sub API 接收长时间运行的操作结果
【发布时间】:2017-11-17 23:33:41
【问题描述】:

在 Google Cloud API 中启动长时间运行的操作时,服务可能会返回一个形状为“Operations”的对象。然后可以通过这个对象轮询操作的状态,完成后获取结果。

我希望避免为这些结果设置自己的投票流程,我希望可以利用 Google Cloud Pub/Sub 服务来提供帮助。我的希望来自阅读此行in the doc

(强调)

...客户端可以使用该接口通过轮询操作资源来异步接收真正的响应,或者将操作资源传递给另一个API(例如Google Cloud Pub/Sub API)来接收响应。 ...

是否可以使用 Google Cloud Pub/Sub API 来获得长时间运行的操作完成事件的通知?我该怎么做呢?

我无法在任何地方找到任何进一步的参考或使用此概念的示例。 也许我误解了该文档行?

干杯

【问题讨论】:

  • 如果可能的话,我会让 Google Cloud Function 监听该 Pub/Sub 消息并处理结果

标签: google-app-engine google-cloud-platform google-cloud-pubsub google-cloud-speech


【解决方案1】:

您要使用的长时间运行的操作是否会将结果写入云存储桶?如果是这样,您也许可以根据this page 创建由该存储桶上的事件触发的云函数。

【讨论】:

  • 好主意,但不,我的目标是语音到文本异步 API,它不会将结果写入 GCS。
  • 感谢您的澄清。长时间运行的操作的完成似乎不会发出/推送任何可见事件。您突出显示的段落似乎只是意味着您可以将长时间运行的操作的名称传递给另一个服务,然后该服务可以通过服务发现处理自己的轮询。
  • 啊,谢谢,我希望这意味着 PubSub API 可以接收对长时间运行的操作“资源”的引用,并在该操作完成时发布消息。哦,好吧
  • 这真的很方便,但我认为目前不支持。如果您准备编写自己的简单轮询服务,这里的答案包含一些代码 sn-p 用于按名称检索长时间运行的操作:stackoverflow.com/a/44693613/4231563
猜你喜欢
  • 1970-01-01
  • 2018-08-09
  • 2017-06-20
  • 2022-01-13
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 2015-05-21
  • 2021-12-12
相关资源
最近更新 更多