Aws-cli: Übergeben Sie Bildbytes an Rekognition, ohne dass S3 nicht funktioniert

Erstellt am 30. Okt. 2017  ·  3Kommentare  ·  Quelle: aws/aws-cli

Gemäß der Dokumentation kann man Bildbytes an eine Rekognition-API-Operation übergeben, indem man die Eigenschaft Bytes in der Option --image verwendet:

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

Ich habe unzählige Kombinationen ausprobiert, aber ohne Erfolg. Ich verstehe auch, dass das Bild base64-codiert sein sollte. Was ich aber auch versuche, ich bekomme am Ende folgende Fehlermeldung.

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

Es scheint, dass die aws-cli die Eingabe "Blob", die Sie ihr geben, übernimmt und sie erneut mit Base64 codiert. Das Problem ist, dass die Eingabe tatsächlich nicht als Blob behandelt wird. Es behandelt es als Zeichenfolge und versucht, es als utf8 zu interpretieren, sodass Sie einen Blob nicht wirklich übergeben können, es sei denn, Sie sind zufällig im Besitz eines Blobs, der zufällig aus vollständig gültigen utf8-Zeichen besteht. Selbst wenn Sie JSON übergeben, wird der Bytes-Wert immer noch in base64 codiert.

Folglich besteht die einzige Möglichkeit darin, das Bild zuerst in S3 hochzuladen und dann mit der Eigenschaft S3Object darauf zu verweisen. Allerdings ist dies nicht immer erwünscht und die fehlende "Bytes=blob" Unterstützung scheint im Gegensatz zur Dokumentation und den eingebauten Hilfetexten zu stehen.

Verwendetes System/Software:
aws-cli/1.11.175 Python/2.7.13 Linux/4.8.0-2-amd64 botocore/1.7.33

enhancement

Hilfreichster Kommentar

@dstufft irgendwelche Neuigkeiten dazu?

Alle 3 Kommentare

Dies ist derzeit aufgrund der Art und Weise, wie die CLI diese Eingaben verfügbar macht, nicht möglich. Ich werde dies als Erweiterung dieser API einreichen, um die Übergabe des Bytes-Verzeichnisses an den Befehl zu ermöglichen. In der Zwischenzeit müssen Sie die S3-Umgehung verwenden.

@dstufft irgendwelche Neuigkeiten dazu?

wieder irgendwelche Neuigkeiten dazu? Ich kann keine Beispiele für das Hochladen von Bildern als Bytes finden.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen