개요
아래의 다이어그램은 GitHub의 예제 코드를 사용하여 구축할 수 있는 아키텍처를 보여줍니다.
Auto Check-In App 아키텍처
이 코드는 Amazon API Gateway, Amazon Cognito 사용자 풀, AWS Lambda 함수, Amazon DynamoDB 테이블, Amazon Rekognition, Amazon CloudWatch 및 Amazon Simple Storage Service(Amazon S3) 버킷을 배포합니다.
참가자가 이벤트에 등록하면 사진을 업로드할 수 있고 그 사진은 Amazon S3 버킷에 저장됩니다. Amazon S3에 사진이 업로드되면 Amazon Rekognition IndexFaces API를 호출하는 Lambda 함수가 트리거됩니다. Amazon Rekognition은 얼굴 특징을 특징 벡터로 추출하고 face_id를 생성합니다. 그런 다음, 벡터가 얼굴 컬렉션에 저장되고 face_id와 해당 사용자 이름은 DynamoDB 테이블에 저장됩니다.
이벤트에서 작업자는 앱의 Python 기반 UI와 카메라를 사용하여 이벤트 참가자의 사진을 촬영하고 자른 다음, Amazon API Gateway로 전송합니다. 여기에서 Amazon Rekognition SearchFacesByImage API를 호출하는 Lambda 함수가 트리거됩니다. Amazon Rekognition은 이미지에서 얼굴 특징을 특징 벡터로 추출하고 그 벡터와 얼굴 컬렉션에 있는 벡터를 비교합니다. Amazon Rekognition이 유사성이 높은 얼굴을 찾으면 face_id를 사용하여 사용자 이름을 검색합니다. 사용자 이름을 작업자 노트북으로 보내 이벤트 참가자가 인증되었음을 표시합니다.
이벤트 참가자가 인증되면 참가자가 등록 시에 업로드한 얼굴 이미지가 Amazon S3에서 자동 삭제됩니다. 이벤트에서 촬영한 사진은 저장되지 않습니다. 앱은 얼굴 이미지를 처리한 다음에는 저장하지 않습니다.