对于Cloud Pub / Sub服务,这可能值得考虑。但是到目前为止,GCP支持并没有真正帮助,因此我将在此发布。
根据此处,Pubsub消息应具有messageId属性,无论是来自pull还是push。
因此,我试图查看该消息是什么样的:(这里的事件是发布到云功能的pubsub消息)
exports.my_cloud_function = (event) => {
logger.debug(`Event: ${util.inspect(event)}`);
}
我的期望:
{ '@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)' }
实际上是:
{ '@type': 'type.googleapis.com/google.pubsub.v1.PubsubMessage', attributes: { key1: 'value1', key2: 'value2' }, data: 'eLCJ=(some base 64)' }
如果我猜对了,那么您正在将Cloud Function与事件触发器一起使用。这是一个常见的陷阱(我在其中多次感到...)。
所以,在事件格式的publishedTime和邮件ID是在context
对象,而不是在事件描述为这里
在您的函数中,将上下文添加到param中,然后进行打印。它应该工作。
exports.my_cloud_function = (event,context) => {
logger.debug(`Event: ${util.inspect(event)}`);
logger.debug(`Context: ${util.inspect(context)}`);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句