联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2023-05-15 09:16

PROG2003 2023 T2 Cloud Systems Development

Assignment 1

Weight: 30% of your final mark

Due: Week 3 Monday (15 May 2023) at 23:59 PM QLD time

Specifications

Your task is to create a website that prints how much of the storage has been used for each student

folder in an S3 bucket. To make the website dynamic, you need to create a Cloud9 app that would

work as a “backend” for the website. Your submission will be evaluated based on:

• whether instructions have been followed;

• correct functionality;

• correct implementation; and

• comments inside the program

Getting Help

This assignment, which is to be completed individually, is your chance to gain an understanding of

the fundamental concepts of listing and creating S3 objects on which later learning will be based. It

is important that you master these concepts yourself.

Since you are mastering fundamental skills, you are permitted to work from the examples in the

MySCU site or textbook, but you must acknowledge assistance from other textbooks or classmates.

In particular, you must not use online material or help from others, as this would prevent you from

mastering these concepts.

This diagram will help you understand where you can get help:

Encouraged Attribution Required Not acceptable Ask tutor

Be aware that if you do get help from one of the red sources, you will be reported for

academic misconduct, which may have serious penalties. Please visit the following link for the

guidelines: https://policies.scu.edu.au/download.php?associated=1&id=326&version=3

(Go to the next page)

PROG2003 2023 T2 Cloud Systems Development

ATTENTION: Assignment 1 must be completed in the UA-provided AWS account. Personal AWS

accounts will not be accepted, and there will be a significant mark deduction. If your AWS account

is not accessible for any reason and the marker cannot check your app, you will also lose

significant marks. No excuse will be considered.

Overview: You need to create a static website that prints the folder usage information for each

student folder in an S3 bucket. You will implement a Cloud9 app that will count the number of files,

total file size(in MB), and remaining space (in MB) for each student folder. You will host the website

within the same bucket and it has an index and error page. Please see below the example

screenshots of the index page.

Example screen:

Details: The details of the assignment tasks are described below.

Part A: The static website (6 marks): You will use two HTML files - home.html and notfound.html, as

the index and error page, respectively. Assume that your S3 bucket consists of folders for students.

Each folder belongs to a student and the folder name must be the student ID (assume 7 digits). Each

folder can consist of any files (web, text, image, excel, and others). Let’s assume students will not be

able to add more files when his/her storage exceeds their limit. Assume that each student has 100

MB space in total.

The home.html will print a count for existing files in each folder within an S3 bucket, calculate the

total file size (in MB), and calculate the remaining space for each student.

Remember to configure the bucket with the appropriate “bucket policy” and “public access” for the

public access of the website hosting. If you add or delete files in the bucket, the index page must

print an updated list based on the existing files in the bucket.

The notfound.html will be very simple and will display a relevant error message, e.g., “page not

found”. The error page appears upon entering the wrong/invalid URL.

Part B: The Cloud9 app (24 marks): You might be wondering how it would be possible for a static

website to always display the current files in an S3 bucket. This is a dynamic behavior. You need to

implement a Cloud9 app that will do the following each time it runs.

a. counting the number of files in each folder, calculate the total file size, and the remaining

space. You need to write a separate method for listing objects, calculating the usage and

remaining space.

b. preparing html content for the ‘home.html’. The ‘home.html’ will contain information about

the list of students and their folder usage information. This information must be wrapped

with HTML formatted string. You will need a separate method for this feature.

c. creating a new ‘home.html’ in the bucket, which will act as the index file for the website.

You will need a separate method for this feature.

PROG2003 2023 T2 Cloud Systems Development

You need to execute the Cloud9 app each time before running the website so that the index page

always displays the updated list of students and their folder usage information.

Requirements: Your website and Cloud9 app must fulfill the following requirements. You will lose

marks otherwise.

• Your Cloud9 app must be named yourscuusernameA1App.

• You will use a single bucket for the whole assignment and its name must be

yourscuusername-a1-bucket.

• Your Cloud9 app must have three separate methods.

• Your Cloud9 app must use exception handling and loop(s).

• You must use AWS SDK v 2.x to implement the Cloud9 app.

• You must implement the assignment in the UA-provided AWS account, personal AWS

account will not be accepted.

• You need to add detailed comments inside your source code.

Solution hints: Check the following hints for implementation.

• You will be taught how to list objects, retrieve their names and file size, which will help you

to implement the counting feature.

• You will also be taught about creating objects in an S3 bucket, which will help you implement

the creating feature. For this assignment, you must create an HTML object (home.html) that

will be served upon invoking the static website. A newly created object in S3 bucket has a

content type of “application/octet”, by default. Such objects behave as attachments, and will

not fulfil the purpose of a website. Do some research on the content-type property of the

PutObjectRequest class for this purpose.

• For the preparing feature, you need to wrap the file type and count with HTML code. You

can use an unordered HTML list (<ul>…..</ul>) to display the list. Check this link out:

https://www.w3schools.com/html/html_lists_unordered.asp.

Submission checklist: The marker will access your AWS Academy workspace (provided by the UA),

check your app, and directly mark your app from there. You have to zip the app project folder and

submit it in Blackboard as well. The Blackboard submission list:

• A zipped app folder for the Cloud9 app (yourscuusernameA1App.zip). You can right-click

and download your app from the Cloud9 interface.

• A text file (named link.txt) containing the URL of your hosted static website.


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp