Freigeben über


Schnellstart: Erstellen Sie eine App-Service-App mit Bicep

In dieser Schnellstartanleitung beginnen Sie mit Azure App Service , indem Sie eine App in der Cloud bereitstellen, indem Sie eine Bicep-Datei und die Azure CLI in Azure Cloud Shell verwenden. Da Sie einen kostenlosen App Service-Tarif verwenden, fallen bei dieser Schnellstartanleitung keine Kosten an.

Bicep ist eine domänenspezifische Sprache (DSL), die deklarative Syntax zum Bereitstellen von Azure-Ressourcen verwendet. Sie bietet eine präzise Syntax, zuverlässige Typsicherheit und Unterstützung für die Wiederverwendung von Code.

Sie können Bicep anstelle von JSON verwenden, um Ihre Azure Resource Manager-Vorlagen (ARM-Vorlagen) zu entwickeln. Die JSON-Syntax zum Erstellen einer ARM-Vorlage kann ausführlich sein und komplizierte Ausdrücke erfordern. Die Bicep-Syntax reduziert diese Komplexität und erleichtert die Entwicklung. Bicep ist eine transparente Abstraktion von ARM-Vorlagen-JSON-Code und büßt keine der JSON-Vorlagenfunktionen ein. Während der Bereitstellung transpiliert die Bicep-Befehlszeilenschnittstelle eine Bicep-Datei in ARM-Vorlagen-JSON.

Voraussetzungen

Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.

Um mithilfe von Bicep effektiv Ressourcen zu erstellen, müssen Sie eine Bicep-Entwicklungsumgebung einrichten. Die Bicep-Erweiterung für Visual Studio Code bietet Sprachunterstützung und automatische Vervollständigung für Ressourcen. Mit der Erweiterung können Sie Bicep-Dateien erstellen und überprüfen. Wir empfehlen es Entwicklern, die nach Abschluss dieser Schnellstartanleitung Ressourcen mithilfe von Bicep erstellen.

Überprüfen der Vorlage

Diese Schnellstartanleitung verwendet die folgende Vorlage. Sie stellt einen App Service-Plan und eine App Service-App unter Linux bereit. Außerdem wird eine Beispiel-Node.js Hello World-App aus dem Azure Samples-Repository bereitgestellt.

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
  }
}

Die Vorlage definiert drei Azure-Ressourcen:

Die Vorlage enthält die folgenden Parameter, die für Sie vordefiniert sind:

Parameter type Standardwert Beschreibung
webAppName Zeichenfolge webApp-<uniqueString> App-Name. Weitere Informationen finden Sie unter Zeichenfolgenfunktionen für ARM-Vorlagen.
location Zeichenfolge resourceGroup().location App-Region. Weitere Informationen finden Sie unter Ressourcenfunktionen für ARM-Vorlagen.
sku Zeichenfolge F1 Instanzgröße.
linuxFxVersion Zeichenfolge NODE|20-LTS Stapel und Version der Programmiersprache.
repositoryUrl Zeichenfolge https://github.com/Azure-Samples/nodejs-docs-hello-world Externes Git-Repository (optional).
branch Zeichenfolge master Standardzweig für das Codebeispiel.

Bereitstellen der Vorlage

Kopieren Sie die Vorlage und fügen Sie sie in eine leere Datei in Ihrem bevorzugten Editor oder Ihrer bevorzugten IDE ein. Speichern Sie die Datei dann in Ihrem lokalen Arbeitsverzeichnis. Verwenden Sie die Dateierweiterung .bicep .

Hier verwenden Sie die Azure CLI, um die Vorlage bereitzustellen. Sie können auch das Azure-Portal, Azure PowerShell oder die REST-API verwenden. Weitere Informationen zu anderen Bereitstellungsmethoden finden Sie unter Bereitstellen von Bicep-Dateien mit der Azure CLI.

Der folgende Code erstellt eine Ressourcengruppe, einen App Service-Plan und eine Web-App. Eine Standardressourcengruppe, ein App Service-Plan und ein Standort werden für Sie festgelegt. Ersetzen Sie <app-name> durch einen global eindeutigen App-Namen. Gültige Zeichen sind a-z, 0-9und ein Bindestrich (-).

Öffnen Sie ein Terminal, in dem die Azure CLI installiert ist. Führen Sie diesen Code aus, um eine Node.js-App unter Linux zu erstellen:

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

Aktualisieren Sie linuxFxVersion mit den entsprechenden Werten, um einen anderen Sprachstapel bereitzustellen. In der folgenden Tabelle sind Beispiele aufgeführt. Um die aktuellen Versionen anzuzeigen, führen Sie den folgenden Befehl in Cloud Shell aus: az webapp config show --resource-group myResourceGroup --name <app-name> --query linuxFxVersion.

Sprache Beispiel
.NETTO 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"

Diese Schnellstartanleitung verwendet die folgende Vorlage. Sie stellt einen App Service-Plan und eine App Service-App unter Windows bereit. Außerdem wird eine .NET Hello World-Beispiel-App aus dem Azure Samples-Repository bereitgestellt.

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
  }
}

Die Vorlage definiert zwei Azure-Ressourcen:

Die Vorlage enthält die folgenden Parameter, die für Sie vordefiniert sind:

Parameter type Standardwert Beschreibung
webAppName Zeichenfolge webApp-<uniqueString> App-Name. Weitere Informationen finden Sie unter Zeichenfolgenfunktionen für ARM-Vorlagen.
location Zeichenfolge resourceGroup().location App-Region. Weitere Informationen finden Sie unter Ressourcenfunktionen für ARM-Vorlagen.
sku Zeichenfolge P1V3 Instanzgröße
appServicePlanName Zeichenfolge toLower('ASP-${webAppName}') Name des App Service-Plans
dockerContainerImage Zeichenfolge mcr.microsoft.com/dotnet/framework/samples:aspnetapp Beispiel für ein Containerimage

Bereitstellen der Vorlage

Kopieren Sie die Vorlage, und fügen Sie sie in Ihren bevorzugten Editor oder Ihre bevorzugte IDE ein. Speichern Sie die Datei dann in Ihrem lokalen Arbeitsverzeichnis. Verwenden Sie die Dateierweiterung .bicep .

Hier verwenden Sie die Azure CLI, um die Vorlage bereitzustellen. Sie können auch das Azure-Portal, Azure PowerShell oder die REST-API verwenden. Weitere Informationen zu anderen Bereitstellungsmethoden finden Sie unter Bereitstellen von Bicep-Dateien mit der Azure CLI.

Der folgende Code erstellt eine Ressourcengruppe, einen App Service-Plan und eine Web-App. Eine Standardressourcengruppe, ein App Service-Plan und ein Standort werden für Sie festgelegt. Ersetzen Sie <app-name> durch einen global eindeutigen App-Namen. Gültige Zeichen sind a-z, 0-9und ein Bindestrich (-).

Öffnen Sie ein Terminal, in dem die Azure CLI installiert ist. Führen Sie den folgenden Code aus, um eine .NET-App zu erstellen:

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

Überprüfen der Bereitstellung

Navigieren Sie zur URL Ihrer App, und überprüfen Sie, ob Sie die App erstellt haben.

Bereinigen von Ressourcen

Wenn Sie die Ressourcen, die Sie für diese Schnellstartanleitung erstellt haben, nicht mehr benötigen, löschen Sie die Ressourcengruppe.