您好!
我使用cloud dlp api来检查bigquery视图,方法是将数据块转换为ContentItem并将其传递给检查请求。但是,我在转换结果并将其保存到bigquery表时遇到了问题。之前,我使用了一个气流DLP操作符,通过在InspectConfig中传递输出存储配置来自动完成。然而,这种方法将不再适用,因为我正在使用java中的apachebeam为每个数据块调用DLP api。
我看到查找对象有一个writeTo((方法,但我不知道如何使用它,也不知道如何将具有正确类型的查找结果保存到bigquery表中。你能帮我做这个吗?我现在被卡住了。非常感谢。
我想做的是像这个
for (Finding res : result.getFindingsList()){
TableRow bqRow = new TableRow();
Object data = res.getLocation();
bqRow.set("field", data);
context.output(bqRow);
}
但这种方法不会将其保存在具有正确类型的bigquery中,尤其是对于getLocation,因为它返回的消息类型类似于protobuf。
我试着看看我是否可以使用writeTo((方法,但我不知道如何使用它。提前感谢您的帮助!
for (Finding res : result.getFindingsList()){
res.writeTo(...)
...
context.output(...);
}
如果您使用HybridInspect,我们将为您将结果存储到BigQuery中。
https://cloud.google.com/dlp/docs/how-to-hybrid-jobs
如果你自己做,你需要转换成本地BQ格式,比如json
将protobuf数据加载到bigquery