我正在使用Dataflow连接Google Cloud Pub-Sub和BigQuery。我的Pub-Sub消息采用JSON格式,并且有一个名为Temp的字段,其温度以摄氏度为单位。我正在尝试将称为TempC和TempF的摄氏和华氏温度的架构添加到BigQuery表以及时间戳中。该代码正确添加了时间戳,但没有添加TempC和TempF。
我将代码复制到带有一些示例JSON文本的HTML文档中,并且在那里工作正常。
在UDF无法创建数字架构的地方有些奇怪吗?
我在javascript中的UDF是:
/**
* A transform function which adds the timestamp and converts temp from c to f
* @param {string} inJson
* @return {string} outJson
*/
function transform_udf1(inJson) {
var obj = JSON.parse(inJson);
var timestamp = getTime();
var tempc = parseFloat(obj.Temp);
var tempf = tempc * (9/5) + 32;
obj.Timestamp = timestamp;
obj.TempC = tempc;
obj.TempF = tempf;
return JSON.stringify(obj);
}
function getTime() {
var d = new Date();
return d;
}
答案 0 :(得分:0)
我可以通过在网站上的javascript中执行转换来解决此问题。