0

我正在尝试使用 GCP DLP API 客户端库(Python 3)创建 DE 识别模板。我已经使用 POST 方法成功创建了去标识化模板。DE 识别模板的作用是使用 Google KMS 包装的密钥加密一些 PII 字段。

      client.create_deidentify_template(
          parent=parent,
          deidentify_template=deidentify_template,
          template_id=templateId,
          retry=google.api_core.gapic_v1.method.DEFAULT,
          timeout=google.api_co
          re.gapic_v1.method.DEFAULT,
          metadata=None)

错误:

ValueError:协议消息 DeidentifyTemplate 没有“deidentifyTemplate”字段。

4

2 回答 2

1

我相信你的参数deidentify_template=deidentify_template是问题所在。来自Google DLP API Python 客户端文档:

deidentify_template (Union[dict, DeidentifyTemplate]) – 要创建的 DeidentifyTemplate。

如果提供了 dict,它必须与 protobuf 消息 DeidentifyTemplate 的形式相同

对于DeidentiftTemplate 的定义方式,您缺少一些参数:

display_name 显示名称(最多 256 个字符)。

描述 简短描述(最多 256 个字符)。

create_time 检查模板的创建时间戳,仅输出字段。

update_time 检查模板的最后更新时间戳,仅输出字段。

deidentify_config /////////// // 模板的核心内容 // /////////////

create_time 字段 google.privacy.dlp.v2.DeidentifyTemplate.create_time

deidentify_config 字段 google.privacy.dlp.v2.DeidentifyTemplate.deidentify_config

描述 字段 google.privacy.dlp.v2.DeidentifyTemplate.description

display_name 字段 google.privacy.dlp.v2.DeidentifyTemplate.display_name

名称 字段 google.privacy.dlp.v2.DeidentifyTemplate.name

update_time 字段 google.privacy.dlp.v2.DeidentifyTemplate.update_time

于 2019-10-15T19:34:53.810 回答
0

deidentify_template:DLP api 采用字段名称而不是字段类型。例如 :

{
    "display_name" : "de_identification_template",
    "description" : "masking sensitive data",
    "deidentify_config" : {
             "info_type_transformations" : {
                      #your specification here.
                }

}

您必须为您的 python DLP api 调用将“deidentifyConfig”更改为“deidentify_config”。

https://cloud.google.com/dlp/docs/creating-templates-deid非常具有误导性。它仅适用于 Web DLP API POST,不适用于 python 客户端库。

于 2019-10-16T07:09:28.793 回答