This repository contains sample classroom assignments for classroom activity for grading students submissions of Azure Services by the Azure Automatic Grading Solution
Students are asked to create the following Azure Infrastructure
- Create 2 Virtual Networks in 2 regions.
- Create 2 Subnets in each Virtual Network.
- Create Route Tables & Network Security Groups.
- Create Virtual Network Peering for 2 Virtual Networks.
- Create 2 Storage Accounts - one for an Azure Function and another for a Azure Static Website.
- Azure Function Storage Account contains 1 Storage Container, 1 Storage Queue, and 1 StorageTable.
- Static website Storage Account contains index page index.html and error page error.html.
- Create 1 Application Insights with Log Analytics Workspace.
- Create 1 Azure Function App with 1 Azure Function.
For course testing Microsoft Azure, it is hard to assess or grade Azure project manually. This project makes use of the technique of unit test to grade student's Azure project settings automatically to validate have the students created the above resources and services.
A rubic assessment is then completed on the task and students recieve grades based on the nunit outcomes and validation.
This project has been developed by Cyrus Wong Microsoft MVP Azure and Microsoft Learn Educator Ambassador in Association with the Microsoft Next Generation Developer Relations Team.
Project collaborators include, Kwok,Hau Ling, Lau Hing Pui, and Xu Yuan from the IT114115 Higher Diploma in Cloud and Data Centre Administration.
The project is being validated through usage on the course Higher Diploma in Cloud and Data Centre Administration
You have to refer Object Oriented Your Azure Infrastructure with Cloud Development Kit for Terraform (CDKTF) and setup your CDK-TF.
Update .env.template and rename it to .env
FUNCTION_APP_NAME=
AZURE_OPENAI_ENDPOINT=https://eastus.api.cognitive.microsoft.com/
AZURE_OPENAI_API_KEY=
DEPLOYMENT_OR_MODEL_NAME=gpt-35-turbo
Login Azure and set subscription
az login --use-device-code --tenant XXX
az account set --subscription "YYY"
npm install --global cdktf-cli@latest
npm i
cdktf deploy --auto-approve
Go to the \AzureProjectGrader\AzureProjectGrader path and run.
dotnet publish -r win-x64 -c Release
Use Microsoft Azure Storage Explorer
Upload all files in \AzureProjectTest\bin\Release\net6.0\win-x64
to the storage account file share data/Functions/Tests
.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.