som*_*ame 1 node.js google-cloud-platform google-cloud-pubsub
这可能会导致 Cloud Pub/Sub 服务出现问题。但到目前为止,GCP 支持并没有真正帮助,所以我在这里发布这个问题。
根据here,Pubsub消息应该有一个messageId属性,无论是来自pull还是push。
所以我试图看看消息是什么样的:(这里的事件是推送到云函数的 pubsub 消息)
exports.my_cloud_function = (event) => {
logger.debug(`Event: ${util.inspect(event)}`);
}
Run Code Online (Sandbox Code Playgroud)
我所期望的:
{ '@type': 'type.googleapis.com/google.pubsub.v1.PubsubMessage', messageId:'111111111', publishTime: 'Oct 1st 2019, xxxx', attributes: { key1: 'value1', key2: 'value2' }, data: 'eLCJ=(some base 64)' }
Run Code Online (Sandbox Code Playgroud)
实际上是什么:
{ '@type': 'type.googleapis.com/google.pubsub.v1.PubsubMessage', attributes: { key1: 'value1', key2: 'value2' }, data: 'eLCJ=(some base 64)' }
Run Code Online (Sandbox Code Playgroud)
如果我猜对了,您正在使用带有事件触发器的云函数。这是一个常见的陷阱(我多次感觉到其中......)。
因此,在事件格式中,publishedTime 和 messageId 位于对象中,而不是此处context描述的事件中
在您的函数中,在 param 中添加上下文,然后打印它。它应该有效。
exports.my_cloud_function = (event,context) => {
logger.debug(`Event: ${util.inspect(event)}`);
logger.debug(`Context: ${util.inspect(context)}`);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |