Google Cloud Dataflow UDF添加数字架构

时间:2019-02-06 05:12:13

标签: google-cloud-dataflow

我正在使用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;
}

1 个答案:

答案 0 :(得分:0)

我可以通过在网站上的javascript中执行转换来解决此问题。