16 votes

Impossible de récupérer les métadonnées des objets depuis S3. Vérifiez la clé de l'objet, la région et/ou les autorisations d'accès dans aws Rekognition.

import boto3

if __name__ == "__main__":

    bucket='MyBucketName'
sourceFile='pic1.jpg'
targetFile='pic2.jpg'

client=boto3.client('rekognition','us-east-1')

response=client.compare_faces(SimilarityThreshold=70,
                              SourceImage={'S3Object':{'Bucket':bucket,'Name':sourceFile}},
                              TargetImage={'S3Object':{'Bucket':bucket,'Name':targetFile}})

for faceMatch in response['FaceMatches']:
    position = faceMatch['Face']['BoundingBox']
    confidence = str(faceMatch['Face']['Confidence'])
    print('The face at ' +
           str(position['Left']) + ' ' +
           str(position['Top']) +
           ' matches with ' + confidence + '% confidence')

J'essaie de comparer deux images présentes dans mon seau mais quelle que soit la région que je sélectionne, j'obtiens toujours l'erreur suivante:-.

botocore.errorfactory.InvalidS3ObjectException : Une erreur s'est produite (InvalidS3ObjectException) lors de l'appel de l'opération CompareFaces : Impossible d'obtenir les métadonnées de l'objet depuis S3. Vérifiez la clé de l'objet, la région et/ou les autorisations d'accès.

La région de mon seau est us-east-1 et j'ai configuré la même chose dans mon code. Qu'est-ce que je fais de mal ?

12voto

Sean Li Points 58

J'ai eu le même problème. Ce que j'ai fait pour le résoudre a été de réorganiser mon seau et les dossiers. Assurez-vous que votre image est directement dans votre seau et non dans un dossier de votre seau. Vérifiez également que le nom des images est correct et que tout est en ordre.

1voto

Manoj Acharya Points 617

Il me semble que vous n'avez pas assez de permissions avec cette access_key et secret_key ! Si les informations d'identification sont celles d'un utilisateur IAM, vérifiez que celui-ci a la permission d'effectuer des opérations de lecture de Rekognition compare_faces et des opérations de lecture s3 ! Vérifiez également que la clé de votre objet s3 source et cible est correcte. Et il est préférable de créer des rôles avec les autorisations requises et d'assumer ce rôle pour demander des informations d'identification de sécurité temporaires au lieu d'utiliser les clés d'accès permanentes.

0voto

Veuillez vous assurer de la configuration de la variable d'environnement AWS AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY dans votre script avant la compilation

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X