消息未在云功能中得到确认
Messages are not getting acknowledged in cloud functions
我正在尝试将 google pubsub 与云功能结合使用,我的所有功能都运行良好,但我的消息没有得到确认
我做过这些事情:
1) 创建了一个话题
2) 创建了一个函数
3) 将函数的触发器设置为 google 云发布订阅
4) select 发布订阅主题
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());
};
它将为此主题创建 2 个订阅,一个是拉取,另一个是推送
正在调用我的云功能,但我的消息未得到确认。
根据docs
Note: Cloud Functions acks the message internally upon successful function execution. For information on how to handle failures using retries, see Retrying Background Functions.
所以函数应该自动确认它不起作用。
这个流程有什么问题。我做错了什么?
谢谢
如果您想尝试使用云 Pub/Sub 触发器编写、部署和触发后台云函数,那么以下文档页面会更好。
https://cloud.google.com/functions/docs/tutorials/pubsub
我认为你需要触发该功能。
gcloud pubsub topics publish YOUR_TOPIC_NAME --message YOUR_MESSAGE
您不需要为 pubsub 云函数显式创建订阅。
部署云函数并将其指向主题时,会自动创建订阅。
创建your-topic
:
gcloud pubsub topics create your-topic
部署指向 your-topic
的函数(这会自动创建一个订阅):
gcloud functions deploy your-function --region=us-central1 --trigger-topic=your-topic --runtime=python37 --entry-point=main
运行 从包含您的 cloudfunction 代码的文件夹中部署命令。您可以更改 runtime
和 entry-point
以匹配您的用例。
您创建的任何二级订阅都没有消费者,因此消息不会被确认。此外,如果您的云功能出现故障,则可能无法确认消息。
我正在尝试将 google pubsub 与云功能结合使用,我的所有功能都运行良好,但我的消息没有得到确认
我做过这些事情:
1) 创建了一个话题
2) 创建了一个函数
3) 将函数的触发器设置为 google 云发布订阅
4) select 发布订阅主题
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());
};
它将为此主题创建 2 个订阅,一个是拉取,另一个是推送
正在调用我的云功能,但我的消息未得到确认。
根据docs
Note: Cloud Functions acks the message internally upon successful function execution. For information on how to handle failures using retries, see Retrying Background Functions.
所以函数应该自动确认它不起作用。
这个流程有什么问题。我做错了什么?
谢谢
如果您想尝试使用云 Pub/Sub 触发器编写、部署和触发后台云函数,那么以下文档页面会更好。
https://cloud.google.com/functions/docs/tutorials/pubsub
我认为你需要触发该功能。
gcloud pubsub topics publish YOUR_TOPIC_NAME --message YOUR_MESSAGE
您不需要为 pubsub 云函数显式创建订阅。
部署云函数并将其指向主题时,会自动创建订阅。
创建
your-topic
:gcloud pubsub topics create your-topic
部署指向
your-topic
的函数(这会自动创建一个订阅):gcloud functions deploy your-function --region=us-central1 --trigger-topic=your-topic --runtime=python37 --entry-point=main
运行 从包含您的 cloudfunction 代码的文件夹中部署命令。您可以更改 runtime
和 entry-point
以匹配您的用例。
您创建的任何二级订阅都没有消费者,因此消息不会被确认。此外,如果您的云功能出现故障,则可能无法确认消息。