Aws-cli: Passer des octets d'image à Rekognition sans que S3 ne fonctionne

Créé le 30 oct. 2017  ·  3Commentaires  ·  Source: aws/aws-cli

Selon la documentation , on peut transmettre des octets d'image à une opération de l'API Rekognition en utilisant la propriété Bytes dans l'option --image :

aws rekognition detect-labels --image "Bytes=blob"

J'ai essayé d'innombrables combinaisons, mais en vain. Je comprends également que l'image doit être encodée en base64. Cependant, quoi que j'essaye, je me retrouve avec le message d'erreur suivant.

An error occurred (InvalidImageFormatException) when calling the DetectLabels
operation: Invalid image encoding

Il semble que aws-cli prenne l'entrée "blob" que vous lui donnez et l'encode à nouveau en base64. Le problème est qu'il ne traite pas en fait l'entrée comme un blob. Il le traite comme une chaîne et essaie de l'interpréter comme utf8, de sorte que vous ne pouvez pas réellement passer un blob à moins que, par coïncidence, vous ne soyez en possession d'un blob qui se trouve être composé de caractères utf8 entièrement valides. Même si vous transmettez JSON, il encode toujours la valeur Bytes en base64.

Par conséquent, la seule option consiste à télécharger d'abord l'image sur S3, puis à s'y référer à l'aide de la propriété S3Object . Cependant, cela n'est pas toujours souhaité et le manque de prise en charge de "Bytes=blob" semble contraster avec la documentation et les textes d'aide intégrés.

Système/logiciel utilisé :
aws-cli/1.11.175 Python/2.7.13 Linux/4.8.0-2-amd64 botocore/1.7.33

enhancement

Commentaire le plus utile

@dstufft des nouvelles à ce sujet ?

Tous les 3 commentaires

Ce n'est actuellement pas possible en raison de la manière dont la CLI expose ces entrées. Je vais classer ceci comme une amélioration de cette API pour permettre de transmettre le répertoire d'octets à la commande. En attendant, vous devrez utiliser le contournement S3.

@dstufft des nouvelles à ce sujet ?

encore des nouvelles à ce sujet ? Je ne trouve pas d'exemples de téléchargement d'images sous forme d'octets.

Cette page vous a été utile?
0 / 5 - 0 notes