自定义信息类型和启动指令规则

问题描述

尝试将 customInfoType 与 hotwordRule 结合使用。配置如下所示(取自 nodeJS 实现):

自定义信息类型:

const customConfig = [{
    infoType: {
      name: 'CZECH_ID'
    },regex: {
      pattern: /[0-9]{2,6}-?[0-9]{2,10}\/[0-9]{4}/
    },likelihood: 'POSSIBLE'
  }];

自定义规则集:

const customruleSet = [{
    infoTypes: [{ name: 'CZECH_ID' }],rules: [
      {
        hotwordRule: {
          hotwordRegex: {
            pattern: /^CZID$/
          }
        },proximity: {
          windowBefore: 10,windowAfter: 0
        }
      }
    ]
  }]

这里是inspectConfig

const request = {
    parent: `projects/${projectId}/locations/global`,inspectConfig: {
      infoTypes: infoTypes,customInfoTypes: customConfig,ruleSet: customruleSet,minLikelihood: 'POSSIBLE',limits: {
        maxFindingsPerRequest: maxFindings,},includeQuote: true,item: item,};

运行时我得到:

Error: 3 INVALID_ARGUMENT: `window_before` and `window_after` cannot both be 0.

当我从它通过的运行配置中删除 customeRuleSet 时,虽然没有识别字符串。所以它必须对 proximity 部分做一些事情,但不确定有什么问题。

解决方法

您的 json 看起来很糟糕,您没有在启动指令规则中包含接近度。

hotword_rule = {
        "hotword_regex": {"pattern": "/^CZID$/"},"likelihood_adjustment": {
            "fixed_likelihood": google.cloud.dlp_v2.Likelihood.VERY_LIKELY
        },"proximity": {"window_before": 10},}

    rule_set = [
        {"info_types": [{"name": "CZECH_ID"}],"rules": [{"hotword_rule": hotword_rule}]}
    ]

这里有一个python示例

https://cloud.google.com/dlp/docs/creating-custom-infotypes-likelihood#dlp_inspect_hotword_rule-python

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...