Which solution will enable the search and retrieval of each employee’s individual details and high-resolution photos using AWS APIs?
Encode each employee’s contact information and photos using Base64. Store the information in an Amazon DynamoDB table using a sort key.
Store each employee’s contact information in an Amazon DynamoDB table along with the object keys for the photos stored in Amazon S3.
Use Amazon Cognito user pools to implement the employee directory in a fully managed software-as-a-service (SaaS) method.
Store employee contact information in an Amazon RDS DB instance with the photos stored in Amazon Elastic File System (Amazon EFS).
Explanations:
Encoding contact information and photos using Base64 increases data size unnecessarily and complicates data retrieval. It is not efficient for searching or storing high-resolution images, and DynamoDB is not optimized for this use case without leveraging additional services.
Storing employee contact information in an Amazon DynamoDB table along with object keys for photos in Amazon S3 allows for efficient storage and retrieval. DynamoDB is well-suited for structured data and can easily support searches, while S3 is optimized for storing and retrieving large objects like high-resolution photos using simple APIs.
Amazon Cognito user pools are primarily for authentication and user management, not for building an employee directory or storing contact information. While it may provide user authentication features, it does not serve as a database for employee details and photos.
Using Amazon RDS for contact information can work, but it adds unnecessary complexity and operational overhead for this use case. Storing photos in Amazon Elastic File System (EFS) is not optimal, as EFS is typically used for shared file systems, and accessing images from EFS may not be as efficient as using S3 for high-resolution images.