首页 > 解决方案 > GCP 数据流 UDF 输入

问题描述

我正在尝试使用 Dataflow 删除 Datastore Bulk 并使用 JS UDF 过滤有关doc的实体。但是这段代码:

function func(inJson) {
  var row = JSON.parse(inJson);
  var currentDate = new Date();
  var date = row.modifiedAt.split(' ')[0];

  return some code
}

原因

TypeError: Cannot read property "split" from undefined

输入应该是实体的 JSON 字符串,并且实体应该具有modifiedAt属性。

究竟是什么将 Dataflow 传递给 UDF,我如何在 Dataflow 控制台中记录它?

标签: google-cloud-platformgoogle-cloud-datastoregoogle-cloud-dataflow

解决方案


假设 modifiedAt 是您添加的属性,我希望 Dataflow 中的 JSON 与 Datastore rest api ( https://cloud.google.com/datastore/docs/reference/data/rest/v1/Entity ) 匹配。这意味着您可能想要row.properties.modifiedAt. 您可能还想退出timestampValue该属性(https://cloud.google.com/datastore/docs/reference/data/rest/v1/projects/runQuery#Value)。


推荐阅读