I have some code that calls into AWS's Rekognition service. Sometimes it throws this exception:
An error occurred (InvalidParameterException) when calling the DetectLabels operation: Request has Invalid Parameters
I can't find the InvalidParameterException
anywhere in the documentation or code, though, so I can't write a specific handler for when that occurs. Does anyone know what library module that exception lives in?
If you saw this exception in response to calling search_faces_by_image
then it probably indicates that there were no detectable faces in the image that you provided. You can review a list of possible exceptions at API_SearchFacesByImage.
To handle this exception, you could write code like this:
import boto3
rek = boto3.client('rekognition')
def lookup_faces(image, collection_id):
try:
faces = rek.search_faces_by_image(
CollectionId=collection_id,
Image=image,
FaceMatchThreshold=95
)
logger.info('faces detected: {}'.format(faces))
return faces
except rek.exceptions.InvalidParameterException as e:
logger.debug('no faces detected')
return None
I found it in boto/cognito/identity/exceptions.py
:
from boto.exception import BotoServerError
class InvalidParameterException(BotoServerError):
pass
This is a misleading error by AWS, this error comes when the source image did not contain any detectable faces. Make sure your source image has a detectable face.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With