Delen via


Quickstart: Een App Service-app maken met Bicep

In deze quickstart gaat u aan de slag met Azure App Service door een app in de cloud te implementeren met behulp van een Bicep-bestand en de Azure CLI in Azure Cloud Shell. Omdat u een gratis servicelaag van App Service gebruikt, zijn er geen kosten verbonden aan het voltooien van deze quickstart.

Bicep is een domeinspecifieke taal (DSL) die declaratieve syntaxis gebruikt om Azure-resources te implementeren. Deze taal voorziet in een beknopte syntaxis, betrouwbare typeveiligheid en ondersteuning voor hergebruik van code.

U kunt Bicep gebruiken in plaats van JSON om uw Azure Resource Manager-sjablonen (ARM-sjablonen) te ontwikkelen. De JSON-syntaxis voor het maken van een ARM-sjabloon kan langdradig zijn en complexe expressies vereisen. Bicep-syntaxis vermindert die complexiteit en verbetert de ontwikkelervaring. Bicep is een transparante abstractie van ARM-sjabloon JSON en verliest geen van de mogelijkheden van de JSON-sjabloon. Tijdens de implementatie transpileert Bicep CLI een Bicep-bestand naar ARM-template-JSON.

Vereisten

Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.

Als u effectief resources wilt maken met Bicep, moet u een Bicep-ontwikkelomgeving instellen. De Bicep-extensie voor Visual Studio Code biedt taalondersteuning en automatisch aanvullen van resources. Met de extensie kunt u Bicep-bestanden maken en valideren. We raden het aan voor ontwikkelaars die resources zullen creëren met Bicep na het voltooien van deze Quickstart.

De sjabloon controleren

In deze quickstart wordt de volgende sjabloon gebruikt. Hiermee wordt een App Service-plan en een App Service-app in Linux geïmplementeerd. Er wordt ook een voorbeeld Node.js Hello World-app geïmplementeerd vanuit de Azure Samples-opslagplaats .

param webAppName string = uniqueString(resourceGroup().id) // Generate a unique string for the web app name
param sku string = 'F1' // Tier of the App Service plan
param linuxFxVersion string = 'node|20-lts' // Runtime stack of the web app
param location string = resourceGroup().location // Location for all resources
param repositoryUrl string = 'https://github.com/Azure-Samples/nodejs-docs-hello-world'
param branch string = 'main'
var appServicePlanName = toLower('AppServicePlan-${webAppName}')
var webSiteName = toLower('wapp-${webAppName}')

resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
  name: appServicePlanName
  location: location
  properties: {
    reserved: true
  }
  sku: {
    name: sku
  }
  kind: 'linux'
}

resource appService 'Microsoft.Web/sites@2023-12-01' = {
  name: webSiteName
  location: location
  properties: {
    serverFarmId: appServicePlan.id
    siteConfig: {
      linuxFxVersion: linuxFxVersion
    }
  }
}

resource srcControls 'Microsoft.Web/sites/sourcecontrols@2023-12-01' = {
  parent: appService
  name: 'web'
  properties: {
    repoUrl: repositoryUrl
    branch: branch
    isManualIntegration: true
  }
}

De sjabloon definieert drie Azure-resources:

De sjabloon bevat de volgende parameters die voor uw gemak vooraf zijn gedefinieerd:

Maatstaf Soort Standaardwaarde Beschrijving
webAppName tekenreeks webApp-<uniqueString> App-naam. Zie Tekenreeksfuncties voor ARM-sjablonen voor meer informatie.
location tekenreeks resourceGroup().location App-regio. Zie Resourcefuncties voor ARM-sjablonen voor meer informatie.
sku tekenreeks F1 Instantiegrootte.
linuxFxVersion tekenreeks NODE|20-LTS De programmeertaalstack en versie.
repositoryUrl tekenreeks https://github.com/Azure-Samples/nodejs-docs-hello-world Externe Git-opslagplaats (optioneel).
branch tekenreeks master Standaardbranch voor het codevoorbeeld.

De sjabloon implementeren

Kopieer en plak de sjabloon in een leeg bestand in de editor of IDE van uw voorkeur. Sla het bestand vervolgens op in uw lokale werkmap. Gebruik de bestandsextensie .bicep .

Hier gebruikt u de Azure CLI om de sjabloon te implementeren. U kunt ook Azure Portal, Azure PowerShell of de REST API gebruiken. Zie Bicep-bestanden implementeren met de Azure CLI voor meer informatie over andere implementatiemethoden.

Met de volgende code maakt u een resourcegroep, een App Service-plan en een web-app. Er wordt een standaardresourcegroep, een App Service-plan en een locatie voor u ingesteld. Vervang door <app-name> een wereldwijd unieke app-naam. Geldige tekens zijn a-z, 0-9en een afbreekstreepje (-).

Open een terminal waarop de Azure CLI is geïnstalleerd. Voer deze code uit om een Node.js-app te maken in Linux:

az group create --name myResourceGroup --location "southcentralus" &&
az deployment group create --resource-group myResourceGroup --template-file <path-to-template>

Als u een andere taalstack wilt implementeren, werkt u linuxFxVersion bij met de juiste waarden. De volgende tabel bevat voorbeelden. Als u de huidige versies wilt weergeven, voert u de volgende opdracht uit in Cloud Shell: az webapp config show --resource-group myResourceGroup --name <app-name> --query linuxFxVersion.

Taal Voorbeeld
.NET linuxFxVersion="DOTNETCORE&#124;3.0"
PHP linuxFxVersion="PHP&#124;7.4"
Node.js linuxFxVersion="NODE&#124;10.15"
Java linuxFxVersion="JAVA&#124;1.8 &#124;TOMCAT&#124;9.0"
Python linuxFxVersion="PYTHON&#124;3.8"

In deze quickstart wordt de volgende sjabloon gebruikt. Hiermee wordt een App Service-plan en een App Service-app in Windows geïmplementeerd. Er wordt ook een voorbeeld van een .NET Hello World-app geïmplementeerd vanuit de Azure Samples-opslagplaats .

param webAppName string = uniqueString(resourceGroup().id) // Generate a unique name for the web app
param location string = resourceGroup().location // Location for all resources
param sku string = 'P1V3' // Tier of the App Service plan
param dockerContainerImage string = 'mcr.microsoft.com/dotnet/framework/samples:aspnetapp' // Sample .NET app
var appServicePlanName = toLower('ASP-${webAppName}') // Generate a unique name for the App Service plan

resource appServicePlan 'Microsoft.Web/serverfarms@2021-02-01' = {
  name: appServicePlanName
  location: location
  sku: {
    name: sku
  }
  properties: {
    hyperV: true
  }
}

resource webApp 'Microsoft.Web/sites@2024-04-01' = {
  name: webAppName
  location: location
  kind:'app,container,windows'
  properties: {
    serverFarmId: appServicePlan.id
    siteConfig: {
      windowsFxVersion: 'DOCKER|${dockerContainerImage}'
      appCommandLine: ''
      alwaysOn: true
      minTlsVersion: '1.3'
    }
    httpsOnly: true
  }
}

De sjabloon definieert twee Azure-resources:

De sjabloon bevat de volgende parameters die voor uw gemak vooraf zijn gedefinieerd:

Maatstaf Soort Standaardwaarde Beschrijving
webAppName tekenreeks webApp-<uniqueString> App-naam. Zie Tekenreeksfuncties voor ARM-sjablonen voor meer informatie.
location tekenreeks resourceGroup().location App-regio. Zie Resourcefuncties voor ARM-sjablonen voor meer informatie.
sku tekenreeks P1V3 Grootte van instantie
appServicePlanName tekenreeks toLower('ASP-${webAppName}') Naam van het App Service-abonnement
dockerContainerImage tekenreeks mcr.microsoft.com/dotnet/framework/samples:aspnetapp Voorbeeld van containerafbeelding

De sjabloon implementeren

Kopieer en plak de sjabloon in de gewenste editor of IDE. Sla het bestand vervolgens op in uw lokale werkmap. Gebruik de bestandsextensie .bicep .

Hier gebruikt u de Azure CLI om de sjabloon te implementeren. U kunt ook Azure Portal, Azure PowerShell of de REST API gebruiken. Zie Bicep-bestanden implementeren met de Azure CLI voor meer informatie over andere implementatiemethoden.

Met de volgende code maakt u een resourcegroep, een App Service-plan en een web-app. Er wordt een standaardresourcegroep, een App Service-plan en een locatie voor u ingesteld. Vervang door <app-name> een wereldwijd unieke app-naam. Geldige tekens zijn a-z, 0-9en een afbreekstreepje (-).

Open een terminal waarop de Azure CLI is geïnstalleerd. Voer deze code uit om een .NET-app te maken:

az group create --name myResourceGroup --location "southcentralus" &&
az deployment group create --resource-group myResourceGroup --template-file <path-to-template>

De implementatie valideren

Blader naar de URL van uw app en controleer of u de app heeft gemaakt.

Middelen opschonen

Wanneer u de resources die u voor deze quickstart hebt gemaakt niet meer nodig hebt, verwijdert u de resourcegroep.