Oefening - Een Azure-website maken met de CLI
Vervolgens gaan we de Azure CLI gebruiken om een resourcegroep te maken en vervolgens een web-app in die resourcegroep te implementeren.
Met de gratis sandbox kunt u resources maken in een subset met wereldwijde Azure-regio's. Selecteer een regio in deze lijst wanneer u resources maakt:
- westus2
- US - zuid-centraal
- centralus
- eastus
- westeurope
- southeastasia
- japaneast
- brazilsouth
- australiasoutheast
- centralindia
Een resourcegroep gebruiken
Wanneer u met uw eigen machine en Azure-abonnement werkt, moet u zich aanmelden bij Azure met behulp van de az login
opdracht. Aanmelden is echter niet nodig wanneer u de cloud shell-sandboxomgeving in de browser gebruikt.
Vervolgens maakt u normaal gesproken een resourcegroep voor al uw gerelateerde Azure-resources met een az group create
opdracht, maar voor deze oefening is de volgende resourcegroep voor u gemaakt:
Notitie
Voor deze oefening gebruiken we VS - oost als regio. Als u een probleem ondervindt bij het maken van het App Service-plan, selecteert u een andere regio in de voorgaande lijst.
De eerste stap in deze oefening is het maken van verschillende variabelen die u in latere opdrachten kunt gebruiken:
export RESOURCE_GROUP=<rgn>[sandbox resource group name]</rgn> export AZURE_REGION=eastus export AZURE_APP_PLAN=popupappplan-$RANDOM export AZURE_WEB_APP=popupwebapp-$RANDOM
U kunt de Azure CLI vragen om al uw resourcegroepen in een tabel weer te geven. Er moet er slechts één zijn terwijl u zich in de gratis Azure-sandbox bevindt:
az group list --output table
Tip
U kunt de knop Kopiëren gebruiken om opdrachten te kopiëren naar het klembord. Als u wilt plakken, klikt u met de rechtermuisknop op een nieuwe regel in de Cloud Shell-terminal en selecteert u Plakken of gebruikt u de sneltoets Shift+Insert (⌘+V in macOS).
Als u meer ontwikkelt met Azure, kunt u over meerdere resourcegroepen beschikken. Als u meerdere items in de groepslijst hebt, kunt u de retourwaarden filteren door een optie
--query
toe te voegen. Voer de volgende opdracht uit:az group list --query "[?name == '$RESOURCE_GROUP']"
De query is geformatteerd met behulp van JMESPath, een standaardquerytaal voor JSON-aanvragen. U vindt meer informatie over deze krachtige filtertaal op http://jmespath.org/. We gaan ook dieper in op query's in de module VM's beheren met de Azure CLI.
Stappen voor het maken van een serviceabonnement
Wanneer u Web Apps uitvoert met behulp van de Azure-app Service, betaalt u voor de Azure-rekenresources die de app gebruikt en de resourcekosten zijn afhankelijk van het App Service-plan dat is gekoppeld aan uw Web Apps. Service-plannen bepalen welke regio er wordt gebruikt voor het datacenter van de app, het aantal virtuele machines dat wordt gebruikt en de prijscategorie.
Maak een App Service-plan voor het uitvoeren van uw app. Met de volgende opdracht wordt de gratis prijscategorie opgegeven, maar u kunt
az appservice plan create --help
uitvoeren om de andere prijscategorieën weer te geven.Notitie
De app- en plannamen moeten uniek zijn in azure. De variabelen die u eerder hebt gemaakt, wijzen willekeurige waarden toe als achtervoegsels om ervoor te zorgen dat deze uniek zijn. Als u echter een foutmelding ontvangt wanneer u resources maakt, moet u de eerder vermelde opdrachten uitvoeren om alle variabelen opnieuw in te stellen met nieuwe willekeurige waarden.
Als u een foutbericht ontvangt over de resourcegroep, voert u de eerder vermelde opdrachten uit met een andere resourcegroepwaarde.
az appservice plan create --name $AZURE_APP_PLAN --resource-group $RESOURCE_GROUP --location $AZURE_REGION --sku FREE
Het uitvoeren van deze opdracht kan enkele minuten in beslag nemen.
Controleer of het serviceplan is gemaakt door al uw plannen in een tabel weer te voegen:
az appservice plan list --output table
U krijgt een antwoord zoals in het volgende voorbeeld:
Kind Location MaximumNumberOfWorkers Name NumberOfSites ResourceGroup Status ------ ---------- ------------------------ ------------------ --------------- ------------------------------------------ -------- app East US 3 popupappplan-54321 0 Learn-12345678-1234-1234-1234-123456789abc Ready
Een webtoepassing maken
Maak vervolgens de web-app in uw serviceplan. U kunt de code tegelijkertijd implementeren, maar in ons voorbeeld maken we de web-app en implementeren we de code in afzonderlijke stappen.
Als u de web-app wilt maken, geeft u de naam van de web-app en de naam op van het app-plan dat u eerder hebt gemaakt. Net als de naam van het app-plan moet de naam van de web-app uniek zijn. De variabelen die u eerder hebt gemaakt, wijzen willekeurige waarden toe die voldoende moeten zijn voor deze oefening. Het kan even duren voordat deze opdracht is voltooid.
az webapp create --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --plan $AZURE_APP_PLAN
Controleer of de app is gemaakt door al uw apps in een tabel te vermelden:
az webapp list --output table
U krijgt een antwoord zoals in het volgende voorbeeld:
Name Location State ResourceGroup DefaultHostName AppServicePlan ----------------- ---------- ------- ------------------------------------------ ----------------------------------- ------------------ popupwebapp-12345 East US Running Learn-12345678-1234-1234-1234-123456789abc popupwebapp-12345.azurewebsites.net popupappplan-54321
Noteer de DefaultHostName die in de tabel wordt vermeld. Dit adres is de URL voor de nieuwe website. Azure maakt uw website beschikbaar via de unieke app-naam in het
azurewebsites.net
domein. Als uw app-naam bijvoorbeeld 'popupwebapp-12345' was, is de URL van uw website:http://popupwebapp-12345.azurewebsites.net
. U kunt ook het volgende script gebruiken om het HTTP-adres te retourneren:site="http://$AZURE_WEB_APP.azurewebsites.net" echo $site
Als u de standaard-HTML voor de voorbeeld-app wilt ophalen, gebruikt u CURL met de DefaultHostName:
curl $AZURE_WEB_APP.azurewebsites.net
U krijgt een antwoord zoals in het volgende voorbeeld:
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Microsoft Azure App Service - Welcome</title><link rel="shortcut icon" href="https://appservice.azureedge.net/images/app-service/v4/favicon.ico" type="image/x-icon"/><link href="https://appservice.azureedge.net/css/app-service/v4/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"/><style>html, body{height: 100%; background-color: #ffffff; color: #000000; font-size: 13px;}*{border-radius: 0 !important;}</style> ... (continued)
Code implementeren vanuit GitHub
De laatste stap is om code vanuit een GitHub-opslagplaats naar de web-app te implementeren. Laten we een eenvoudige PHP-pagina gebruiken die beschikbaar is in de GitHub-opslagplaats van Azure Samples waarin 'Hallo wereld!' wordt weergegeven wanneer deze wordt uitgevoerd. Zorg ervoor dat u de web-app-naam gebruikt die u hebt gemaakt. Het kan even duren voordat deze opdracht is voltooid.
az webapp deployment source config --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --repo-url "https://github.com/Azure-Samples/php-docs-hello-world" --branch master --manual-integration
Zodra deze is geïmplementeerd, drukt u opnieuw op uw site met een browser of CURL:
curl $AZURE_WEB_APP.azurewebsites.net
Op de pagina wordt 'Hallo wereld!' weergegeven.
Hello World!
In deze oefening werd geïllustreerd hoe een interactieve Azure CLI-sessie doorgaans verloopt. U hebt eerst een standaardopdracht gebruikt om een nieuwe resourcegroep te maken. U hebt vervolgens een reeks opdrachten gebruikt om een resource in deze resourcegroep te implementeren (in dit voorbeeld was dit een web-app). U kunt deze set opdrachten eenvoudig combineren in een shellscript en deze telkens uitvoeren wanneer u dezelfde resource moet maken.