Find answers, ask questions, and connect with our
community around the world.

Home Forums AWS AWS Certified Solutions Architect Professional Category: CSAP – Design for New Solutions Reply To: Category: CSAP – Design for New Solutions

  • TutorialsDojo-Support

    Member
    June 8, 2020 at 7:14 pm

    Hello vipul-gupta,

    Thank you for your feedback.

    The answer to this question is “Set up a table in DynamoDB containing an item for each user having the necessary attributes to hold the user preferences. The mobile app will query the user preferences directly from the table. Use STS, Web Identity Federation, and DynamoDB’s Fine Grained Access Control for authentication and authorization” because it ticks all the boxes for being functionally viable and cost-effective.

    The scenario requires that scalability which DynamoDB provides, where you will store user preferences. This approach uses federated access using Web Identity Provider, and uses fine grained access privileges for authenticating the access.

    “Have the user preference data stored in S3, and set up a DynamoDB table with an item for each user and an item attribute referencing the user’s S3 object. The mobile app will retrieve the S3 URL from DynamoDB and then access the S3 object directly utilizing STS, Web identity Federation, and S3 ACLs.” is incorrect. Although, this approach is possible, accessing the data via S3 would be slower compared to DynamoDB. Best practices for storing user preferences is on a database system such as RDS or NoSQL system such as DynamoDB.

    You can check this link for more information: https://developer.amazon.com/blogs/appstore/post/TxZR5F5K6QINFQ/storing-user-preference-in-amazon-dynamodb-using-the-aws-sdk-for-android

    Regards,

    Kenneth Samonte @ Tutorials Dojo