联系方式

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

您当前位置:首页 >> Python编程Python编程

日期:2022-05-13 09:14

PROG2003 – Cloud Systems Development

Assignment 1

PROG2003 Assignment 1

Weight: 30% of your final mark

Due: Week 3 Monday (16 May 2022) at 11:00 PM

Specifications

Your task is to create a website that prints all the existing file details 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://bit.ly/scuAcadMisconduct

Lecturer Tutors Online

Forums Relatives

Students

outside unit Hired coders Classmates Private

Tutors

Other

PROG2003 – Cloud Systems Development

Assignment 1

Overview: You have to create a website that prints the current file names and their sizes in an S3

bucket. The website will be hosted in the same bucket and will have an index and an error page. The

index page will print the file list and the error page will print some error messages. The index page

would look like the screenshot below.

You need to use the UA-provided AWS account for all assessment tasks. A personal AWS account is

not acceptable.

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

Part A: The website (6 marks): The index and error pages ideally would be the index.html and

error.html files. The error page will be displayed upon entering the wrong/invalid URL. The index page

will print a list of names and sizes of the “current” files (i.e., known as objects in S3) within an S3

bucket. If the bucket is empty then the index page should print a message “There are currently no

objects”. You need to host a static website with two pages (index.html, and error.html) in the bucket.

You need to configure the bucket with the appropriate “bucket policy” and “public access” so that

your website can be accessed publicly.

The index page must reflect any changes to the number of files in the bucket. If you delete from or

add a file to the bucket, the index page must reflect that. You might be wondering how that would be

possible by a static website. To implement this “dynamic” functionality, you need to implement a

Cloud9 app that can: (a) list the current file names and their sizes; and (b) create (or overwrite) an

index file with the current file names and sizes in the bucket. The app will be executed each time

before running the website so that the index.html always displays the updated list of current files and

their sizes.

Part B: The Cloud9 app (24 marks): The Cloud9 app will have two main features – listing all file names

(i.e., object names or keys) as well as their sizes in the bucket, and creating a new file/object with the

name/key “index.html” within the bucket. Upon serving, the index.html will display these names and

sizes. It will print a message “no object available” if the bucket is empty. It has been taught during the

tutorial that while creating an object in a bucket, you need to specify the content of the object. The

content of the index.html in this case will include the current object names and their sizes. You will

get the names and sizes of the objects by implementing the listing feature. You need to embed this

information with HTML code to prepare the content of the index.html. The error.html will be very

simple and will display a relevant error message, e.g., page not found.

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

marks otherwise.

PROG2003 – Cloud Systems Development

Assignment 1

? Your Cloud9 app must be named yourscuusernameA1App.

? You will use a single bucket for the whole assignment and its name must be yourscuusernamea1-bucket.

? Your Cloud9 app must have separate methods for the two features – listing and creating.

? 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 SCU-provided AWS account, personal AWS

account will not be accepted.

? You need to add comments inside your source code.

Solution Hints: Check the following hints for implementation.

? A newly created object by default has a content type of “application/octet”. Such objects

behave as attachments. This will not fulfil the purpose for a website, where the HTML pages

need to serve. You need to explore the content-type property of the PutObjectRequest class

for this purpose.

? You can use an unordered HTML list (<ul>…..</ul>) for the index.html to display the object

names. 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. If your AWS console provided by the UA is not

accessible, you will lose a significant mark. You have to zip the app project folder and submit it in

Blackboard as well. Blackboard submission list:

? Zipped app folder for the Cloud9 app.

? A text file containing the URL of the static website.


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

python代写
微信客服:codinghelp