Recent Question/Assignment

Assignment 1: S3 and DynamoDB App
Due Date: Week 6 Friday 11.00 PM
Submission Method: Blackboard
Weight: 25% of Overall Grade
Type: Individual
Overview: In Assignment 1, students are expected to demonstrate their level of understanding and skill attained through practicing the workshops from week 2-4. The assignment has two parts (Part A:
14%, Part B: 16%).
Environment Setup: You need to use the AWS Academy Learner Lab created for you for assignments. You need to use AWS SDK v2.5 of both S3 and DynamoDB for completing this assignment. Other version of the SDK will not be accepted and you will receive 0 mark for the “functionality” part of the app.
Part A (14%): Create a Java app using maven in Cloud9 to first create and then read an S3 object.
Tasks
• Create an empty S3 bucket named your_SCU_user_name-a1-s3bucket (e.g., pchakrab15-a1s3bucket). Update the Block public access and the Bucket Policy, so that the bucket objects are publicly accessible.
• Create an app named your_SCU_usernamea1s3app (e.g., pchakrab15a1s3app) in Cloud9 with maven using appropriate commands shown in workshop. You need to use two separate methods to implement the following features.
o Create a customer.json object containing the following JSON array into the newly created empty S3 bucket. You need to implement the JSON string properly in your code, do not just copy and paste, it will not be acceptable.
[{“name”: “Jason”, “age”: 25, “account”: “1001345”}, {“name”: “Rita”, “age”: 32, “account”: “1001346”}, {“name”: “Richard”, “age”: 21, “account”: “1003445”}, {“name”:
“Sarah”, “age”: 31, “account”: “1003481”}]
o Read the content within the customer.json object (just created in the step before) and save the content into another local (in-app) customer.txt object.
• Find and note down the Object URL of the bucket object your app have created during testing by clicking the object.
• Use appropriate exception handling and detailed comments in your code.
NOTE: Do not delete the bucket, bucket object your program has created, and the command history, as the marker will check your program against that.
Part B (16%): Create a new Java app using maven in Cloud9 that can insert and update DynamoDB entry.
Tasks
• Create a DynamoDB table named Student with a primary key, Id. The table has the following schema:
Student (Id, Name, EnrollingYear, CompletedCredit, Address); the Name, Address, are of type String; Id, EnrollingYear, and CompletedCredit are of type Number.
• Create a new app named your_SCU_usernamea1ddbapp (e.g., pchakrab15a1ddbapp) in Cloud9 with maven using appropriate commands shown in workshop. You need to use two methods to implement the following features.
o Insert ten entries with appropriate values into the Student table, using a loop.
o Read the inserted entries from the table and print the values for each item to the console.
• Use appropriate exception handling and detailed comments in your code.
NOTE: Do not delete the database table and the command history, as the marker will check your program against that.
Submission Checklist: You need to use the learner lab account for completing this assignment, no personal AWS account will be allowed. You will get 0 mark if you do not complete assignment in learner lab account. The marker will access your learner lab workspace and check your apps there. The marker will also check the command history to make sure that you have used the classroom account console to complete the apps. You have to zip the app project folders and submit them in Blackboard as well. Blackboard submission list:
• Zipped app folder for the S3 app (Part A).
• Zipped app folder for the DynamoDB app (Part B).
• Include the object URL (for customer.json) and your SCU email while submitting.