消息未在云功能中得到确认

Unk*_*own 5 google-cloud-pubsub google-cloud-functions

我正在尝试将 google pubsub 与云功能一起使用,我所有的东西都运行良好,但我的消息没有得到确认

我做了这些事情:

1)创建主题

2)创建函数

3) 将函数的触发器设置为 google cloud pubsub

4)为pubsub选择主题

5)设置节点版本为8

这是我的默认云功能:

/**
 * Triggered from a message on a Cloud Pub/Sub topic.
 *
 * @param {!Object} event Event payload.
 * @param {!Object} context Metadata for the event.
 */
exports.helloPubSub = (event, context) => {
  const pubsubMessage = event.data;
  console.log(Buffer.from(pubsubMessage, 'base64').toString());
};
Run Code Online (Sandbox Code Playgroud)

它将为此主题创建 2 个订阅,一个是拉,另一个是推送

我的云函数被调用,但我的消息没有得到确认。

根据文档

注意:在成功执行函数后,Cloud Functions 会在内部确认消息。有关如何使用重试处理失败的信息,请参阅重试后台函数。

所以函数应该自动确认它不工作。

这个流程有什么问题。我究竟做错了什么?

谢谢

Pro*_*OXO 3

您不需要显式创建 pubsub 云函数的订阅。

当部署云函数并将其指向某个主题时,会自动创建订阅。

  1. 创造your-topic

    gcloud pubsub topics create your-topic

  2. 部署函数指向your-topic(这会自动创建订阅):

    gcloud functions deploy your-function --region=us-central1 --trigger-topic=your-topic --runtime=python37 --entry-point=main

使用您的 cloudfunction 代码从文件夹运行部署命令。您可以更改runtimeentry-point来匹配您的用例。

您创建的任何辅助订阅都没有消费者,因此消息不会被确认。此外,如果您的云功能出现故障,则可能无法确认消息。