Как прочитать изображение из корзины s3 для Amazon Rekognition, используя python? - PullRequest
0 голосов
/ 17 декабря 2018

Привет! Я работаю над проектом, в котором у меня есть исходное изображение в корзине s3, и я хочу сравнить его с изображениями на моем локальном компьютере.Я уже настроил aws cli.Вот кодМое изображение в каком-то ведре 'bx' с именем 's.jpg'.Теперь я хочу прочитать его, поэтому я вызвал метод get_object и использовал open () для чтения, но это не сработало.

import boto3
import os
if __name__ == "__main__":
    path2 = '/home/vivek/Desktop/tar/'
    t=[j for j in os.listdir(path2)]
    buck=boto3.client('s3')
    obj=buck.get_object(Bucket='bx',Key='s.jpg')
    imageSource=open(obj['Body'],'rb')
    for targetFile in t:
        client=boto3.client('rekognition')
        imageTarget=open(targetFile,'rb')
        response=client.compare_faces(SimilarityThreshold=70,
        SourceImage={'Bytes': imageSource.read()},
        TargetImage={'Bytes': imageTarget.read()})

Я получаю ошибку:

vivek@skywalker:~/Desktop/code$ python3 y.py
Traceback (most recent call last):
  File "y.py", line 9, in <module>
    imageSource=open(obj['Body'],'rb')
TypeError: expected str, bytes or os.PathLike object, not StreamingBody
...