Привет! Я работаю над проектом, в котором у меня есть исходное изображение в корзине 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