我正在尝试使用GCP DLP API客户端库(Python 3)创建DE标识模板。我已经使用POST方法成功创建了取消身份验证模板。 DE-identification模板使用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”字段。
答案 0 :(得分:1)
我相信您的参数deidentify_template=deidentify_template
是问题所在。
来自Google DLP API Python Client文档:
deidentify_template (联合[dict,DeidentifyTemplate])–要创建的DeidentifyTemplate。
如果提供了dict,则其格式必须与protobuf消息DeidentifyTemplate相同
对于DeidentiftTemplate is defined,您缺少一些参数:
显示名称 显示名称(最多256个字符)。
说明 简短说明(最多256个字符)。
创建时间 inspectTemplate的创建时间戳,仅输出字段。
更新时间 inspectTemplate的最后一次更新时间戳,仅输出字段。
deidentify_config ///////////// //模板的核心内容// ///////////////
创建时间 栏位google.privacy.dlp.v2.DeidentifyTemplate.create_time
deidentify_config 栏位google.privacy.dlp.v2.DeidentifyTemplate.deidentify_config
说明 栏位google.privacy.dlp.v2.DeidentifyTemplate.description
显示名称 栏位google.privacy.dlp.v2.DeidentifyTemplate.display_name
名称 栏位google.privacy.dlp.v2.DeidentifyTemplate.name
更新时间 栏位google.privacy.dlp.v2.DeidentifyTemplate.update_time
答案 1 :(得分: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客户端库。