嗨,我正在这样的代码中获取数据库数据
response = rekognition.search_faces_by_image(
CollectionId='athlete_collection',
Image={'Bytes': image_crop_binary}
)
我在event
中有一个名为athlete_collection
的列,所以我想提出一个条件,即仅在event ='newevent'时获取数据
答案 0 :(得分:0)
在这里,您在概念上犯了错,因为您尝试过滤 athlete_collection ,它只是一个 Rekognition集合,其中仅包含存储的面部和面部的面部标志数据对应于这些面孔的-id,然后您可以使用这些面孔ID来检索相应的数据,例如名称,地址等,并且仅当您在将这些面孔索引到集合中时将此类详细信息存储在数据库中时,如果在您的用例中事件名称存储在数据库中,那么您必须在从数据库中检索与 search_faces_by_image API
获得的结果相对应的结果时过滤数据您可以通过以下示例进行操作:
response = rekognition.search_faces_by_image(
CollectionId='collection_name',
Image={'Bytes':image_crop_binary}
)
if len(response['FaceMatches']) > 0:
# Return results
for match in response['FaceMatches']:
face = dynamodb.get_item(
TableName='table_name',
Key={'RekognitionId': {'S': match['Face']['FaceId']}}
)
if 'Item' in face:
event = face['Item']['event_name']['S']
full = face['Item']['full_name']['S']
if(event=='newevent'):
#your code goes here , i.e what you want to do if event=="newevent"