python-3.xgoogle-cloud-platformgoogle-cloud-dlp

Image Type PNG not allowed for de-identification with GCP DLP


I got this error: google.api_core.exceptions.InvalidArgument: 400 BytesType.IMAGE_PNG is not supported for use with de-identification.

I have this code, and it should work with images, but then I get this error stating it isn't supported. Did I do something wrong or believe the error? Is it possible that this error is due to me being on the trial period?

# Construct deidentify configuration dictionary
deidentify_config = {
    "info_type_transformations": {
        "transformations": [
            {
                "primitive_transformation": {
                    "character_mask_config": {
                        "masking_character": masking_character,
                        "number_to_mask": number_to_mask,
                    }
                }
            }
        ]
    }
}

# Construct item
bucket = storage_client.get_bucket(SENSITIVE_BUCKET)
blob = bucket.get_blob(file_name)
item = blob.download_as_bytes()

file_extension = os.path.splitext(file_name)[1]
print("File extension is: " + file_extension)

contentItem = {}
if file_extension == '.jpg':
    contentItem = {"byte_item": {"type_": 1, "data":item}}
elif file_extension == '.bmp':
    contentItem = {"byte_item": {"type_": 2, "data":item}}
elif file_extension == '.png':
    contentItem = {"byte_item": {"type_": 3, "data":item}}
elif file_extension == '.svg':
    contentItem = {"byte_item": {"type_": 4, "data":item}}
else:
    contentItem = {"value": item.decode()}


# Call the API
response = dlp.deidentify_content(
    request={
        "parent": parent,
        "deidentify_config": deidentify_config,
        "inspect_config": inspect_config,
        "item": contentItem,
    }
)

Solution

  • Images are only supported in the RedactImage method.