Pub/Sub加入AI生成消息转换代码:先检查返回值,再决定消息应该继续还是被过滤

前天 3阅读

2026年10月1日,Google Cloud在Pub/Sub发布记录中加入一项新功能:使用Gemini Enterprise生成用户定义函数的单消息转换代码。控制台提供“Generate with AI”入口,用户描述转换目标后可看到代码及解释,再检查、修改并导入。公告没有另行标注GA或预览阶段,本文按官方已提供的功能说明介绍。

用自然语言描述,执行的仍是具体函数

这项功能帮助准备JavaScript转换逻辑。例如,给消息补一个属性,或把某个字段换成下游接受的格式。官方流程明确要求检查生成代码是否正确;觉得不合适,可以修改描述后重新生成。点击导入,只是把代码放入配置过程,并不等于已经验证所有输入。

以下为本文分析。最有效的描述应包含字段缺失时怎么办、原有内容是否保留,以及遇到无法解析的数据该如何处理。“清洗订单消息”太宽泛;“保留原始字段,只统一国家代码,缺失时保留空值”才更容易逐条对照结果。

Pub/Sub加入AI生成消息转换代码:先检查返回值,再决定消息应该继续还是被过滤

AI模型生成的概念示意图,表现消息经过转换环节,并非Pub/Sub界面截图。

返回空值,可能意味着消息不会送达

单消息转换可以配置在主题或订阅上。主题转换发生在消息存储之前,结果影响所有订阅者;订阅转换发生在交付之前,影响该订阅。两者不是可以随意互换的位置。

官方文档特别说明,UDF返回null表示过滤消息:在主题上,发布者仍可收到成功与消息编号,但消息不会被存储或送给订阅者;在订阅上,消息会被确认而不交付给订阅者。因而,“发布成功”与“业务消费者收到”可能同时出现不同答案。

团队试用时可以准备正常记录、字段缺失、格式异常三类输入,事先写下哪类应继续、哪类应过滤、哪类应报错。这样检查的是交付语义,而不是仅看代码有没有语法错误。

适合轻量处理,不是任意后端任务

官方限制包括每个UDF最多20KB代码、每条消息最多500毫秒执行时间,只支持ECMAScript标准内置能力,不能调用外部API或导入外部库。需要查另一套业务系统才能决定结果的流程,应先确认是否适合放在这里。

创建时还可以选择禁用转换,使配置存在但暂不作用于消息。对首次接入的团队,这为比较输入输出与准备启用条件留下空间。本文未实测该入口,也不推断生成正确率;上述输入设计与接入建议为原创分析。

来源与核验

Pub/Sub发布记录日期为2026年10月1日;UDF文档说明AI生成流程、交付行为及运行限制。资料于北京时间2026年10月2日核验。

文章版权声明:除非注明,否则均为云鹊BLOG原创文章,转载或复制请以超链接形式并注明出处。