Ошибка обычного пользовательского словаря Google Cloud DLP «В словаре нет поля «cloudStoragePath»»

#python #google-cloud-dlp

#python #google-cloud-dlp

Вопрос:

В DLP я создаю обычный пользовательский детектор словаря, который указывает на текстовый файл словаря, хранящийся в облачном хранилище. Ниже приведено то, что я сделал для определения custominfotype. Я считаю, что он следует инструкциям на https://cloud.google.com/dlp/docs/creating-custom-infotypes-dictionary#examples . Тем не менее, он выдает ошибку «В словаре сообщений протокола нет поля «cloudStoragePath»». Текстовый файл определенно существует в моем облачном хранилище, и у меня есть надлежащие учетные данные. Можете ли вы сказать мне, если у меня неправильный синтаксис? Спасибо.

 custom_info_types = [
    {
        "info_type": {"name": "TAXES"},
        "likelihood": google.cloud.dlp_v2.Likelihood.POSSIBLE,
        "dictionary": {
                            "cloudStoragePath": {
                                "path": "gs://mybucket/myfile.txt"
                            },
                       },
    }
]
 

Комментарии:

1. Попробуйте path без кавычек: "path": gs://mybucket/myfile.txt .

Ответ №1:

Python не использует оболочку camel, а вместо этого использует регистр snake.

См.

https://cloud.google.com/dlp/docs/samples/dlp-deidentify-masking#dlp_deidentify_masking-python

так что это должно быть cloud_storage_path

Комментарии:

1. Спасибо, я изменил cloudStoragePath на cloud_storage_path, и это сработало, оно вернуло ожидаемый результат. Большое вам спасибо.