in src/main/java/com/google/cloud/solutions/bqremoteencryptionfn/fns/dlp/DlpFn.java [135:159]
public List<String> reidentifyUnaryRow(List<String> rows) throws Exception {
return DlpRequestBatchExecutor.<ReidentifyContentRequest, ReidentifyContentResponse>builder()
.setDlpColumnName(dlpColName)
.setRequestCellCount(requestCellCount)
.setRequestMaxBytes(requestBytes)
.setDlpClientFactory(dlpClientFactory)
.setDlpCallFnFactory(dlpClient -> dlpClient::reidentifyContent)
.setTableToDlpRequestFnFactory(
dlpClient -> {
var deidentifyConfig =
dlpClient.getDeidentifyTemplate(dlpConfig.deidTemplate()).getDeidentifyConfig();
return (table) ->
DlpReIdRequestMaker.forConfig(deidentifyConfig)
.makeRequest(ContentItem.newBuilder().setTable(table))
.toBuilder()
.setParent(extractDlpParent(dlpConfig.deidTemplate()))
.setInspectTemplateName(
dlpConfig.hasInspectTemplate() ? dlpConfig.inspectTemplate() : "")
.build();
})
.setDlpRequestToTableFn(reidRequest -> reidRequest.getItem().getTable())
.setDlpResponseToTableFn(reidResponse -> reidResponse.getItem().getTable())
.build()
.process(rows);
}