Analyser les résultats stockés sous forme de texte Protobuf

Cet exemple de code montre comment extraire des détails des résultats d'inspection enregistrés au format texte Protobuf. Effectuez cette tâche si vous avez enregistré vos résultats d'inspection dans Cloud Storage. Cet exemple convertit l'objet exporté SaveToGcsFindingsOutput dans un format lisible. Vous pouvez ensuite utiliser la sortie pour analyser les résultats d'inspection individuels.

Java

Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez la page Bibliothèques clientes de Sensitive Data Protection.

Pour vous authentifier auprès de Sensitive Data Protection, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.


import com.google.privacy.dlp.v2.Finding;
import com.google.privacy.dlp.v2.SaveToGcsFindingsOutput;
import com.google.protobuf.ByteString;
import com.google.protobuf.TextFormat;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.StandardCharsets;

public class ProcessInspectFindingsSavedToGcs {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String inputPath = "src/test/resources/save_to_gcs_findings.txt";
    processFindingsGcsFile(inputPath);
  }

  // Processes a file containing findings from a DLP inspect job.
  public static void processFindingsGcsFile(String inputPath)
      throws IOException {
    SaveToGcsFindingsOutput.Builder builder = SaveToGcsFindingsOutput.newBuilder();
    try (Reader reader =
        new InputStreamReader(new FileInputStream(inputPath), StandardCharsets.UTF_8)) {
      TextFormat.merge(reader, builder);
    }
    SaveToGcsFindingsOutput output = builder.build();

    // Parse the converted proto and process results
    System.out.println("Findings: " + output.getFindingsCount());
    for (Finding f : output.getFindingsList()) {
      System.out.println("\tInfo type: " + f.getInfoType().getName());
      System.out.println("\tLikelihood: " + f.getLikelihood());
    }
  }
}