Giter Site home page Giter Site logo

microsoftlearning / az-204-developingsolutionsformicrosoftazure Goto Github PK

View Code? Open in Web Editor NEW
2.1K 2.1K 1.8K 151.07 MB

AZ-204: Developing solutions for Microsoft Azure

Home Page: https://microsoftlearning.github.io/AZ-204-DevelopingSolutionsforMicrosoftAzure/

License: MIT License

C# 56.18% HTML 34.35% CSS 5.91% JavaScript 3.18% Dockerfile 0.38%

az-204-developingsolutionsformicrosoftazure's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

az-204-developingsolutionsformicrosoftazure's Issues

"Blob public access" default has changed again!

Module: 00

Lab/Demo: many

It looks like the default setting for "Blob public access" was changed sometime this week back to "Enabled". I have created several Storage Accounts yesterday and today and they all default "Blob public access" to "Enabled".

Lab: Implement task processing logic by using Azure Functions Student lab answer key

https://microsoftlearning.github.io/AZ-204-DevelopingSolutionsforMicrosoftAzure/Instructions/Labs/AZ-204_02_lab_ak.html

Lab/Demo: 02,
Exercise 4: Create a function that integrates with other services
Task: 5
Step: 6

Description of issue
HTTP/1.1 204 No Content

Before the steps below, I performed the below steps as instructed:
Saving settings.json file to container named "content",
content
and
Configure an HTTP-triggered function as attached below:
Funclogic

Repro steps:

  1. httprepl
  2. set base https://funclogictest.azurewebsites.net
  3. cd api
  4. cd getsettinginfo
  5. get
    See attached file below
    AzureFunction

Suggested correction for AZ-204_02_lab.md

Module: 02: Implement Azure Functions

Lab/Demo: 04

Task: 03

Step: 02

Description of issue

RE: /Instructions/Labs/AZ-204_02_lab.md

In Lab "Exercise 4: Create a function that integrates with other services" on Task 3 ... Step 2 currently reads:
"From the App Service blade, locate and open the Integration pane for the GetSettingInfo function"

I believe it should read something like:
"Go to the Functions blade, select the GetSettingInfo function, and then select the Integration pane."

Repro steps:

  1. Going to the App Service blade does not allow the student to access the Integrations pane for the GetSettingInfo function

Lab 12 - Redundant step to get instrumentation key

The following step can be removed as students are already asked to get this code earlier in the lab:

Get the value corresponding to the APPINSIGHTS_INSTRUMENTATIONKEY application settings key. This value was set automatically when you built your web app.`

AZ-204_12_lab.md Ex 3 Task 4 Step 3 Live Metrics not shown due to outdated libraries

Module: 12

Ex: 3

Task: 4

Step: 3

Live Metrics cannot be shown to the Web App that is published using api.zip file in folder
https://github.com/MicrosoftLearning/AZ-204-DevelopingSolutionsforMicrosoftAzure/tree/master/Allfiles/Labs/12/Starter

Repro steps:

  1. Deploy api.zip as instructed in previous Task 1 of Ex 3 of same module 12
  2. Follow the steps until Task: View real-time metrics
  3. The Live Metrics view shows error:
    "Not available: your app is offline or using an older SDK"
    image

If you build & publish the same exercise to fresh zip file and deploy that one then Live metrics are shown:
image

getsettinginfo API returns HTTP 500

Module: 02

Lab/Demo: Implement task processing logic by using Azure Functions

Task: 03

Step: 08 (ii)

[ Description of issue ]
Method invocation to getsettinginfo API results in HTTP 500:

No value was provided for parameter 'json'.

[ Suggestion ]
Blob parameter name should match with Run method signature as snippet provided, in this case json instead of inputBlob:

public static IActionResult Run(HttpRequest request, string json)
{
    return new OkObjectResult(json);
}

Guidance AZ204

Module: ALL

Lab/Demo: ALL

Task: 00

Step: 00

Description of issue
Hello, I am looking for some guidance. I am intending on delivering the AZ204 course. I have up until now been delivering the AZ900 which is different as we know. I am looking for some guidance from a fellow MCT on some of the best approaches in delivering this course.

Slides, Demos and the balance between them. Any help would be appreciated email [email protected]

Should we move from Azure SQL Database to a flat file?

I would propose changing the lab to avoid use of the Azure SQL Database platform.

Reason: AZ-204 course material (PPTs, Skillpipe) has zero coverage of Azure SQL Database. This service is covered in DP-200, DP-201, DP-050, etc. Not in AZ-204. Students thus find the lab quite challenging and the references to Azure SQL Database quite unexpected.

Yes, I realize this change might involve essentially recreating the lab from scratch. I think it's justifiable give the benefits of aligning labs to course scope.

I welcome everyone's feedback on this proposal.

Lab 10 - "Register the Microsoft.EventGrid provider"

This task in the lab only verifies that the provider is registered, so the name is a little misleading.

Proposal:

  1. Remove the task altogether, or
  2. Change its title to better reflect contents. Ex. "Verify that the Microsoft.EventGrid provider is registered"

Incorrect storage account

Module: az-204

Lab/Demo: 02

Task: 03

Step: 05

Description of issue
Here: https://github.com/MicrosoftLearning/AZ-204-DevelopingSolutionsforMicrosoftAzure/blob/master/Instructions/Labs/AZ-204_02_lab.md#task-3-configure-an-http-triggered-function

On step 5, It says Storage account connection: Azure WebJobsStorage. However this appears to create a new storage account and not use the existing one which we uploaded to. In order to make it work, I had to create a new connection, and map it to my existing storage account.
Repro steps:

Code missing "PublicAccessType.Blob"

Module: 3

Lab: 3

Task: 2

Step: 6

In step 3, everything is ok:

await container.CreateIfNotExistsAsync(PublicAccessType.Blob);

But in step 6 "Observe the GetContainerAsync method, which should now include:"
the same line is

await container.CreateIfNotExistsAsync();

So it is missing the PublicAccessType.Blob

Students who copy the whole code from step 6 won't get the Task 5 working where this is tested, without setting the access level manually.

03: containerClient is not defined in Exercise 4

Module: 03

Lab: Retrieving Azure Storage resources and metadata by using the Azure Storage SDK for .NET

Task: Exercise 4, Task 4: Access blob URI by using the SDK

Step: 06

Description of issue
The variable mentioned in Step 6 'containerClient' is not defined in the steps above.

Repro steps:
Follow the manual listed at https://microsoftlearning.github.io/AZ-204-DevelopingSolutionsforMicrosoftAzure/Instructions/Labs/AZ-204_03_lab.html without missing any steps.

See this for the actual line the error occurs:
image

Lab 04 Ex 4 need step to instantiate containerClient

Lab: 03 Exercise 4

Task: 02

Step: 06

Description of issue

Code sample is missing assignment for containerClient

existing code: await GetContainerAsync(serviceClient, newContainerName);

needed code: BlobContainerClient containerClient = await GetContainerAsync(serviceClient, newContainerName);

Lab 01 should have a "404 is expected" warning

Module: 01

Lab/Demo: 01

Task: 05

Step: 05 non-AK, 07 AK

Description of issue

Students are often confused at this point because they try to open the site and get a "not found" error - this is normal, because nothing has been published yet. An appropriately phrased note warning them would help. I thought one was there already, but maybe it's in another lab.

Lab: Automate business processes with Logic Apps Student lab answer key

https://microsoftlearning.github.io/AZ-204-DevelopingSolutionsforMicrosoftAzure/Instructions/Labs/AZ-204_09_lab_ak.html#exercise-3-use-azure-api-management-as-a-proxy-for-logic-apps

Lab/Demo: 09
Task: 00
Exercise 3, Task 4

Description of issue
E:>httprepl https://prodapimthiam.azure-api.net/manual/paths/invoke
(Disconnected)> connect https://prodapimthiam.azure-api.net/manual/paths/invoke
Using a base address of https://prodapimthiam.azure-api.net/manual/paths/invoke/
Unable to find a swagger definition

https://prodapimthiam.azure-api.net/manual/paths/invoke/> get
HTTP/1.1 401 Access Denied
Cache-Control: private
Content-Length: 152
Content-Type: application/json
Date: Tue, 14 Jul 2020 10:05:51 GMT
WWW-Authenticate: AzureApiManagementKey realm="https://prodapimthiam.azure-api.net/",name="Ocp-Apim-Subscription-Key",type="header"

{
"statusCode": 401,
"message": "Access denied due to missing subscription key. Make sure to include subscription key when making requests to an API."
}

Repro steps:
Follow instructions from the top link.

AZ-204_03_lab.md Ex 4 Task 2 Step 6 code incorrect

Module: 03

Ex 4

Task: 02

Step: 06

Description of issue
Code does not match Answer Key (See AK Ex 4 Task 2 Step 8):

await GetContainerAsync(serviceClient, newContainerName);

should be:

BlobContainerClient containerClient = await GetContainerAsync(serviceClient, newContainerName);

error in lab 3 answer key (wrong method)

Exercise 4, task 2:
In the EnumerateContainersAsync method, enter the following code to get a new instance of the BlobContainerClient class by using the GetBlobContainerClient method of the BlobServiceClient class, passing in the containerName parameter:

should be replaced with:
In the EnumerateBlobsAsync method,

Using of App Service Editor instead View Files tab in Lab07

Lab/Demo: 07

Exercise: 04

Task: 02

Step: 03

Description of issue
In step 03, the lab suggests to the students to open the View Files but in the new App Function UI there isn't View Files. The students must use the App Service Editor feature in the Developer tools section of the left blade in the Function App.

Implementing Optimistic and Pessimistic Concurrency

Hi,
I am going to raise this ticket but it is not an issue. I want help with implementing the accesscondition check which we could do in v11 dll. But I am struggling to implement it using v12 dll. I know we can create the BlobRequestCondition for the same but I am not sure how to chck for ETAG in that class. Can a example be created for the same.

Thanks in Advance

License incorrect

I just realized that the license on this repository is incorrect.

Module 6 - Labs are in folder 07

Module: 06

Lab/Demo: 01

Exercise 2

Task: 01

Step: 03

Description of issue
This is module 6 and you have to select folder 07 in All Files.

Repro steps:

AdventureWorks.bacpac file emtpy/ missing tables

Module: AZ-204

Lab/Demo: 04

Exercise: 2

Task: 4

Step: 9

Description of issue
The AdventureWorks.bacpac file doesn't seem to have the required tables that are specified in the step: AdventureWorks.dbo.Models or AdventureWorks.dbo.Products

  1. Follow steps to import AdventureWorks.bacpac file in Task 3
  2. In task 4, run the query in Step 9, and you receive the following error:

image

New Functions management experience impacts multiple labs

This impacts many steps in many labs - the new Functions management UI, which is basically the App Service management UI with some tweaks, was made the default after being in preview for a while. This means that most instructions in the AK and in some cases the non-AK around how to get to administrative management of Functions are wrong, in some cases very much so. A short-term fix is to tell the students to click the "Having issues" link at the top of the Overview of the new experience, but the proper long term fix is to revisit every use of Functions in every lab and fix the instructions. (This is a big fix.)

Active Azure Functions NuGet Issue [Referencing Azure.Storage.Blobs 12.4.0]

Module: 07

Lab/Demo: Lab

Task: Exercise 4/Task 2

Step: 03

Description of issue
Wrong version of the Azure.Storage.Blobs which leads to errors when you want to create the function, the reason being that 12.0 was not around when netcore 3.1 was released . You should use 12.4 instead of 12.0.

Repro steps:
n/a

Simplify cleanup instructions

I think the following steps can be removed from Task 1 in each lab to make the instructions simpler:

az group list
az group delete --help

Reason: The resource group is known for each lab. Only the precise command already listed in Task 2 needs to be executed.

AZ-204_13_lab.md Ex 2 Task 3 Step 1 CDN Provider may not be registered

Module: 13

Ex: 2

Task: 03

Step: 01

Description of issue

Note: Microsoft.CDN may not be registered with the subscription so may produce an error during Create. If so, use cloudshell to submit the following statement:

az provider register --namespace 'Microsoft.CDN'

and wait 5 minutes then retry create.

Applies to Answer Key also. (AK)

rendering of double dash (--) on github.io

Module 05: Implement IaaS solutions

Exercise 2: Create a Docker container image and deploy it to Container Registry

(plus other cases)

On the github.io page the double dash (--) is rendered as an en dash (โ€“). This might lead to a copy & paste error. In the Markdown rendering it is correctly displayed.

Expected Result
image
https://github.com/MicrosoftLearning/AZ-204-DevelopingSolutionsforMicrosoftAzure/blob/master/Instructions/Labs/AZ-204_05_lab.md

Actual result
image
https://microsoftlearning.github.io/AZ-204-DevelopingSolutionsforMicrosoftAzure/Instructions/Labs/AZ-204_05_lab.html#exercise-2-create-a-docker-container-image-and-deploy-it-to-container-registry

Incorrect JSON response from API Management xml-to-json outbound processing

Module: Lab: Creating a multi-tier solution by using services in Azure

Lab/Demo: Exercise 2: Build an API proxy tier by using Azure API Management

Task: Task 3: Manipulate an API response

Step: 11. Replace that block of XML with the following XML:

The xml-to-json outbound processing step in API Management returns invalid JSON. JSON does not allow for comments, but the returned data contains C-style comments. It should work fine in JavaScript but not with JSON parser.

Repro steps:

  1. on step 11, add xml-to-json outbound processing step
  2. on step 16, Observe the results of the API request, the response contains comments.

Page to the task:
https://github.com/MicrosoftLearning/AZ-204-DevelopingSolutionsforMicrosoftAzure/blob/master/Instructions/Labs/AZ-204_08_lab_ak.md#task-3-manipulate-an-api-response

possible confusion from httprepl giving a Swagger warning

Module: 09

Lab/Demo: 09

Task: Ex 3 Task 4

Step: 2

When httprepl runs, it attempts to retrieve a Swagger API definition to help the tool user. The Logic App doesn't have one, so it returns a warning. Students sometimes see that warning and assume they've done something wrong since they weren't told to expect it. There should be a note indicating that it's expected. Maybe something like:

When you launch httprepl, it will attempt to find a Swagger definition, as described in Module 08. Because your Logic App does not have such a definition published, you will get a warning, stating "Unable to find a swagger definition". This is expected.

Invalid runtimeconfig.json error on lab 04

Hi

What should be lab vm prerequisits related to dotnet core installation. I am working on my local development laptop for code related stuff and on lab04 at excercise 4: Migrating SQL data to Azure Cosmos DB. I have completed task1 (Create a migration project) but when doing task2(Create a .NET class) on dotnet run command I am getting below error.
Invalid runtimeconfig.json [E:\Rajesh\Incedo\SimpliLearnAzure\AZ-204-DevelopingSolutionsforMicrosoftAzure-master\AZ-204-DevelopingSolutionsforMicrosoftAzure-master\Allfiles\Labs\04\Solution\AdventureWorks\AdventureWorks.Migrate\bin\Debug\netcoreapp3.0\AdventureWorks.Migrate.runtimeconfig.json] [E:\Rajesh\Incedo\SimpliLearnAzure\AZ-204-DevelopingSolutionsforMicrosoftAzure-master\AZ-204-DevelopingSolutionsforMicrosoftAzure-master\Allfiles\Labs\04\Solution\AdventureWorks\AdventureWorks.Migrate\bin\Debug\netcoreapp3.0\AdventureWorks.Migrate.runtimeconfig.dev.json]

Please help to resolve this issue.

Lab 8 API Provision time

Module: 08

Lab/Demo: Creating a multi-tier solution

Exercise 2

Task: 02

In Lab 8, the estimated time is 45 minutes according to the lab manual.

I have yet to provision an API in less than 30-35 minutes and it usually takes > 40 minutes to provision. This always seems to have been the case in Azure.

The LAK in Ex.2, Task 2 has students create a new API and under Step 6(v) there is a note that says "wait for the new API to finish being created".

Should we not set an expectation that this will be at least 30 minutes? Or consider having the resource group and API created first before performing Exercise 1?

MSBuild error in adding container to registry

Module: 05

Lab/Demo: 05

Task: 5

Step: 3

Description of issue

unable to build container registry due to this error:

MSBUILD : error MSB1001: Unknown switch.
Switch: --out

For switch syntax, type "MSBuild -help"
The command '/bin/sh -c dotnet publish --configuration Release --out' returned a non-zero code: 1
2020/07/07 15:22:17 Container failed during run: build. No retries remaining.

Repro steps:

Should demos be stored in GitHub?

Are the demos going to be maintained in this repo? They are currently in Skillpipe. My understanding was that all instructions (labs + demos) for new courses are to be hosted in GitHub.

Lab 02: HTTP Trigger Template name change

Lab/Module: 02 Implement task processing logic by using Azure Functions

Exercise: 02: Create a function that's triggered by an HTTP request

Task: 01

Step: 02

Description of issue: instruction, Template: HTTP trigger, doesn't match UI

image

Proposed Solution: Change to - Template: Webhook + API (HTTP Trigger)

11: Incorrect terminology used

Module: 11

Ex 3

Task: 3

Step: 3

Some incorrect terminology used. It says to run the 'ASP.NET web application project', however the lab builds a console application for testing. Could cause some confusion. This is found in various steps throughout the lab.

image

Lab 07 Cannot compile the the function

Module: 07

Lab/Demo: Exercise 4

Task: 06

Step: 04

Description of issue
When the student presses Test run the function fails with an Access Denied error
Repro steps:

  1. Run the lab
  2. Press Run
  3. See that it doesn't work :)

Import

Module: 4

Lab/Demo: 1

Task: Exercise 2 Task 1

Step: 6

Some of my students this week, especially those where English is a second language, seem confused by the phrase "Use the Upload button to upload the 42 .jpg image files" - the bold is not enough of a hint that they aren't looking for a file named 42 .jpg. Suggest changing phrasing to something like "Use the Upload button to upload all 42 of the individual .jpg image files" or something to make it a bit clearer.

Lab: Building a web application on Azure platform as a service offerings Student lab answer key Issues

https://microsoftlearning.github.io/AZ-204-DevelopingSolutionsforMicrosoftAzure/Instructions/Labs/AZ-204_01_lab_ak.html

I read that "Azure Storage and will need to be tested to see if they work with or without public access:", and "To fix this, you need to go to Advanced tab and Enable Blob public access". But I do not see any Advanced tab or Enable Blob public access.
I find that public access for Blob is under Configuration, and it is Enabled.

Do I need to do the below steps also?
(i) Go to Storage Explorer (Preview)
(ii) Select the Container [images]
(iii) Manage Access
(iv) Superuser (Owner & Owning Group)
(v) Access: Read, Write, Execute
Does above give public access to the Blob images?

Lab/Demo: 01
Task: 6
Step: 16

Description of issue:
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202

Repro steps:
(1) In the appsettings.json, I modify the AccountName and AccountKey according to my storage.
(2) dotnet restore
(3) dotnet build
(4) above will create directory bin\Debug\netcoreapp3.0 under \allfiles-v20200629.03\Labs\01\Starter\API directory
(5) zip up that netcoreapp3.0 directory as api.zip
(6) Change directory to where the api.zip is located
(7) Did the deployment as instructed: az webapp deployment source config-zip --resource-group myresourcegroup --src api.zip --name imageapitest123
Before Step 7, I did the az login, az webapp list --resource-group myresourcegroup, az webapp list --resource-group myresourcegroup --query "[?starts_with(name,'imageapitest123')].{Name:name}" --output tsv

Rollback to .NET Core 3.0

Some labs have been rolled-back to .NET Core 3.0

Impacts

  • Lab 01: Building a web application on Azure App Service
  • Lab 04: Constructing a NoSQL data solution by using Azure Cosmos DB

Description

Looks like .NET Core 3.1 LTS support is only available in Linux-based App Service Plans. Support is incoming to Windows-based plans.

Resolution

The two impacted labs have been rolled-back to .NET Core 3.0. Once support is ready, they will be updated to .NET Core 3.1

Is creating product necessary ?

Module: 09

Lab/Demo: 09

Task: 00

Step: 00

Im trying to create a visual for Lab 09 but cannot understand a purpose of a "product" for API Management Service. Do we need to associate Api with it ? It seems to work even without association.

logic apps

Screen Shot 2020-06-19 at 1 15 08 PM

Announcement: Updates Incoming

We had a wave of lab updates being tested and slated for a release earlier this month. Unfortunately (or fortunately depending on your perspective), the Azure Functions UI update put us on a back foot completely.

We are still working behind the scenes to try and close all impacted issues by June 5.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.