«ValueError: Сообщение протокола DeidentifyTemplate не имеет поля« deidentifyTemplate ».» - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь создать шаблон DE-идентификации с помощью клиентской библиотеки GCP DLP API (Python 3). Я успешно создал шаблон де-идентификации, используя метод POST. Какова доза шаблона DE-идентификации для шифрования некоторых полей PII с помощью Google KMS-ключа.

      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.

Ответы [ 2 ]

1 голос
/ 15 октября 2019

Я считаю, что ваш параметр deidentify_template=deidentify_template является проблемой. Из Google DLP API Python Client документация:

deidentify_template (Union [dict, DeidentifyTemplate]) - создаваемый шаблон DeidentifyTemplate.

Если есть диктпредоставляется, он должен иметь ту же форму, что и сообщение protobuf DeidentifyTemplate

Для того, как определяется DeidentiftTemplate , если вам не хватает некоторых параметров:

display_name Отображаемое имя (макс. 256 знаков).

описание Краткое описание (макс. 256 знаков).

create_time Метка времени создания inspectTemplate, поле только для вывода.

update_time Последняя отметка времени обновления inspectTemplate, поле только для вывода.

deidentify_config ///////////// // Основное содержание шаблона // ///////////////

create_time Поле google.privacy.dlp.v2.DeidentifyTemplate.create_time

deidentify_config Поле google.privacy.dlp.v2.DeidentifTemplate.deidentify_config

description Поле google.privacy.dlp.v2.DeidentifyTemplate.description

display_name Поле google.privacy.dlp.v2. DeidentifyTemplate.display_name

name Поле google.privacy.dlp.v2.DeidentifyTemplate.name

update_time Поле google.privacy.dlp.v2. DeidentifyTemplate.update_time

0 голосов
/ 16 октября 2019

deidentify_template: DLP api принимает имя поля, а не тип поля. например:

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

}

вы должны изменить "deidentifyConfig" на "deidentify_config" для вашего вызова Python DLP API.

https://cloud.google.com/dlp/docs/creating-templates-deid вводит в заблуждение. это только для веб-DLP API POST, но не для клиентской библиотеки Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...