我正在使用Cloud Dataflow中的Cloud Datastore to Cloud Storage文本模板。
我的python代码正确提交了请求,并使用javascriptTextTransformFunctionName
在我的Google Cloud Storage存储桶中运行正确的功能。
这是正在运行的代码的最小化部分
function format(inJson) {
var output = {};
output.administrator = inJson.properties.administrator.keyValue.path[0].id;
return output;
这是我要格式化,缩减的Json,但只有“属性”的其他子级。
"properties": {
"administrator": {
"keyValue": {
"path": [
{
"kind": "Kind",
"id": "5706504271298560"
}
]
}
}
}
}
我得到了这个例外:
java.lang.RuntimeException:
org.apache.beam.sdk.util.UserCodeException:
javax.script.ScriptException: TypeError: Cannot read
property "keyValue" from undefined in <eval> at line number 5
我了解错误的含义,但我不知道为什么会发生。如果您使用format函数和那个json并通过浏览器控制台运行它,则可以轻松测试并查看它是否拉出并返回带有“ administrator”等于“ 5706504271298560”的对象。
答案 0 :(得分:0)
我没有找到解决您问题的方法,但希望能对您有所帮助:
Java.Type()
的引号类型。Java.type
,然后调用返回的函数从JavaScript实例化一个类。