Udostępnij za pośrednictwem


Szybki start: tworzenie aplikacji usługi App Service przy użyciu aplikacji Bicep

W tym szybkim starcie rozpoczniesz pracę z Azure App Service, wdrażając aplikację do chmury przy użyciu pliku Bicep i Azure CLI w usłudze Azure Cloud Shell. Ponieważ używasz bezpłatnej warstwy usługi App Service, nie ponosisz żadnych kosztów, aby ukończyć ten przewodnik Szybki start.

Bicep to język specyficzny dla domeny (DSL), który używa składni deklaratywnej do wdrażania zasobów platformy Azure. Zapewnia zwięzłą składnię, niezawodne bezpieczeństwo typów i obsługę ponownego użycia kodu.

Do tworzenia szablonów usługi Azure Resource Manager (szablonów usługi ARM) można użyć Bicep zamiast kodu JSON. Składnia JSON służąca do tworzenia szablonu ARM może być obszerna i wymagać skomplikowanych wyrażeń. Składnia Bicep zmniejsza złożoność i poprawia doświadczenie programistyczne. Bicep to przezroczysta abstrakcja nakładająca się na szablony JSON ARM, która nie traci żadnych funkcji szablonów JSON. Podczas wdrażania interfejs wiersza polecenia Bicep transpiluje plik Bicep do pliku JSON szablonu usługi ARM.

Wymagania wstępne

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Aby efektywnie tworzyć zasoby przy użyciu aplikacji Bicep, należy skonfigurować środowisko deweloperskie Bicep. Rozszerzenie Bicep dla programu Visual Studio Code zapewnia obsługę języka i automatyczne uzupełnianie zasobów. Rozszerzenie ułatwia tworzenie i weryfikowanie plików Bicep. Zalecamy to deweloperom, którzy będą tworzyć zasoby przy użyciu aplikacji Bicep po ukończeniu tego przewodnika Szybki start.

Przegląd szablonu

W tym przewodniku Szybki start użyto następującego szablonu. Wdraża plan usługi App Service i aplikację usługi App Service w systemie Linux. Wdraża również przykładową aplikację Node.js Hello World z repozytorium Azure Samples .

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

Szablon definiuje trzy zasoby platformy Azure:

Szablon zawiera następujące parametry, które są wstępnie zdefiniowane dla Twojej wygody:

Parametr Typ Domyślna wartość opis
webAppName sznurek webApp-<uniqueString> Nazwa aplikacji. Aby uzyskać więcej informacji, zobacz Funkcje ciągów dla szablonów ARM.
location sznurek resourceGroup().location Region aplikacji. Aby uzyskać więcej informacji, zobacz Funkcje zasobów dla szablonów ARM.
sku sznurek F1 Rozmiar wystąpienia.
linuxFxVersion sznurek NODE|20-LTS Stos technologiczny i wersja języka programowania.
repositoryUrl sznurek https://github.com/Azure-Samples/nodejs-docs-hello-world Zewnętrzne repozytorium Git (opcjonalnie).
branch sznurek master Gałąź domyślna przykładu kodu.

Wdrażanie szablonu

Skopiuj szablon i wklej go do pustego pliku w preferowanym edytorze lub środowisku IDE. Następnie zapisz plik w lokalnym katalogu roboczym. Użyj rozszerzenia bicep.

W tym miejscu użyjesz interfejsu wiersza polecenia platformy Azure do wdrożenia szablonu. Możesz również użyć witryny Azure Portal, programu Azure PowerShell lub interfejsu API REST. Aby dowiedzieć się więcej o innych metodach wdrażania, zobacz Wdrażanie plików Bicep za pomocą interfejsu wiersza polecenia platformy Azure.

Poniższy kod tworzy grupę zasobów, plan usługi App Service i aplikację internetową. Dla Ciebie ustawiono domyślną grupę zasobów, plan usługi App Service i lokalizację. Zastąp <app-name> globalnie unikatową nazwą aplikacji. Prawidłowe znaki to a-z, 0-9i łącznik (-).

Otwórz terminal, w którym zainstalowano interfejs wiersza polecenia platformy Azure. Uruchom ten kod, aby utworzyć aplikację Node.js w systemie Linux:

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

Aby wdrożyć inny stos języka, zaktualizuj linuxFxVersion je odpowiednimi wartościami. W poniższej tabeli wymieniono przykłady. Aby wyświetlić bieżące wersje, uruchom następujące polecenie w usłudze Cloud Shell: az webapp config show --resource-group myResourceGroup --name <app-name> --query linuxFxVersion.

Język Przykład
.SIEĆ linuxFxVersion="DOTNETCORE&#124;3.0"
PHP linuxFxVersion="PHP&#124;7.4"
Node.js linuxFxVersion="NODE&#124;10.15"
Jawa linuxFxVersion="JAVA&#124;1.8 &#124;TOMCAT&#124;9.0"
Pyton linuxFxVersion="PYTHON&#124;3.8"

W tym przewodniku Szybki start użyto następującego szablonu. Wdraża plan usługi App Service i aplikację usługi App Service w systemie Windows. Wdraża również przykładową aplikację .NET Hello World z repozytorium Azure Samples .

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

Szablon definiuje dwa zasoby platformy Azure:

Szablon zawiera następujące parametry, które są wstępnie zdefiniowane dla Twojej wygody:

Parametr Typ Domyślna wartość opis
webAppName sznurek webApp-<uniqueString> Nazwa aplikacji. Aby uzyskać więcej informacji, zobacz Funkcje ciągów dla szablonów ARM.
location sznurek resourceGroup().location Region aplikacji. Aby uzyskać więcej informacji, zobacz Funkcje zasobów dla szablonów ARM.
sku sznurek P1V3 Rozmiar wystąpienia
appServicePlanName sznurek toLower('ASP-${webAppName}') Nazwa planu usługi App Service
dockerContainerImage sznurek mcr.microsoft.com/dotnet/framework/samples:aspnetapp Przykładowy obraz kontenera

Wdrażanie szablonu

Skopiuj i wklej szablon do preferowanego edytora lub środowiska IDE. Następnie zapisz plik w lokalnym katalogu roboczym. Użyj rozszerzenia bicep.

W tym miejscu użyjesz interfejsu wiersza polecenia platformy Azure do wdrożenia szablonu. Możesz również użyć witryny Azure Portal, programu Azure PowerShell lub interfejsu API REST. Aby dowiedzieć się więcej o innych metodach wdrażania, zobacz Wdrażanie plików Bicep za pomocą interfejsu wiersza polecenia platformy Azure.

Poniższy kod tworzy grupę zasobów, plan usługi App Service i aplikację internetową. Dla Ciebie ustawiono domyślną grupę zasobów, plan usługi App Service i lokalizację. Zastąp <app-name> globalnie unikatową nazwą aplikacji. Prawidłowe znaki to a-z, 0-9i łącznik (-).

Otwórz terminal, w którym zainstalowano interfejs wiersza polecenia platformy Azure. Uruchom ten kod, aby utworzyć aplikację platformy .NET:

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

Weryfikowanie wdrożenia

Przejdź do adresu URL aplikacji i sprawdź, czy została utworzona przez Ciebie.

Czyszczenie zasobów

Jeśli nie potrzebujesz już zasobów utworzonych na potrzeby tego przewodnika szybkiego startu, usuń grupę zasobów.