首页 > 解决方案 > 如何运行 API 进行 DLP 扫描并保存到 Bigquery?

问题描述

我正在尝试编写一个 Java CF HTTP 触发器,它接受数据集/表作为参数并运行预定义的 DLP 模板以提供需要存储在 Bigquery 中的检查输出。
目前,没有任何示例指令使用 Bigquery 作为操作输出。从我可以收集到的内容中,需要使用 OutputStorageConfig 或 StorageConfig 将输出操作设置为 Bigquery,但我正在寻找一些代码示例。
提前致谢。

标签: google-cloud-platformgoogle-cloud-dlp

解决方案


像这样的东西?

   static Action createSaveFindingsAction(String datasetId, String tableId, String projectId) {
        return Action.newBuilder()
            .setSaveFindings(
                Action.SaveFindings.newBuilder()
                    .setOutputConfig(
                        OutputStorageConfig.newBuilder()
                            .setTable(
                                BigQueryTable.newBuilder()
                                    .setProjectId(projectId)
                                    .setDatasetId(datasetId)
                                    .setTableId(tableId))))
            .build();
      }

  CreateDlpJobRequest createCloudStorageReq(
      String templateName, CloudStorageOptions cloudStorageOptions) {
    return CreateDlpJobRequest.newBuilder()
        .setParent(PARENT)
        .setInspectJob(
            InspectJobConfig.newBuilder()
                .setInspectTemplateName(templateName)
                .setStorageConfig(
                    StorageConfig.newBuilder().setCloudStorageOptions(cloudStorageOptions))
                .addActions(createSaveFindingsAction(INSPECT_OUTPUT_DATASET, TABLE_ID, PROJECT_ID)))
        .build();
  }

推荐阅读