在这里,您在概念上是错误的,因为您正在尝试过滤仅包含存储的面部的面部标志数据和与该面部相对应的面部 ID 的 Rekognition 集合的运动员集合,然后您可以使用这些面部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"