google-cloud-platform - 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 控制台中记录它?
解决方案
假设 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)。
推荐阅读
- spring - Spring repo 中的“ID 不在结果集中”错误,但在 PGA 中有效
- java - 以正确的格式打印 ArrayList 的元素
- vue.js - 如何在 Vue.js 中访问可重用组件的其他实例的状态
- angular - 如何将可观察对象与内部可观察对象映射?
- firebase - Firestore 子文档是否继承父文档的任何权限?
- c - 使用 MPI_Send 和 MPI_Recv 未正确接收矩阵
- contiki - Contiki找邻居
- code-signing - 使用 PFX 文件使用 jarsigner 对 jar 进行签名
- spring-boot - 解析模板 [create] 时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问
- flutter - 我需要在颤动中解决小部件地图