Szybki start: tworzenie aplikacji usługi App Service przy użyciu szablonu usługi ARM
Rozpocznij pracę z usługą aplikacja systemu Azure, wdrażając aplikację w chmurze przy użyciu szablonu usługi Azure Resource Manager (szablonu ARM) i interfejsu wiersza polecenia platformy Azure w usłudze Cloud Shell. Szablon usługi Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. Nie ponosisz żadnych kosztów, aby ukończyć ten przewodnik Szybki start, ponieważ używasz bezpłatnej warstwy usługi App Service.
Aby ukończyć ten przewodnik Szybki start, musisz mieć konto platformy Azure z aktywną subskrypcją. Jeśli nie masz konta platformy Azure, możesz go utworzyć bezpłatnie.
Przejdź do końca
Jeśli znasz szablony usługi ARM, możesz przejść do końca, wybierając ten przycisk. Ten przycisk otwiera szablon usługi ARM w witrynie Azure Portal.
W witrynie Azure Portal wybierz pozycję Utwórz nową , aby utworzyć nową grupę zasobów, a następnie wybierz przycisk Przejrzyj i utwórz , aby wdrożyć aplikację.
Rozpocznij pracę z usługą aplikacja systemu Azure, wdrażając aplikację w chmurze przy użyciu szablonu usługi Azure Resource Manager (szablonu ARM) i interfejsu wiersza polecenia platformy Azure w usłudze Cloud Shell. Szablon usługi Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. Nie ponosisz żadnych kosztów, aby ukończyć ten przewodnik Szybki start, ponieważ używasz bezpłatnej warstwy usługi App Service.
Aby ukończyć ten przewodnik Szybki start, musisz mieć konto platformy Azure z aktywną subskrypcją. Jeśli nie masz konta platformy Azure, możesz go utworzyć bezpłatnie.
Przejdź do końca
Jeśli znasz szablony usługi ARM, możesz przejść do końca, wybierając ten przycisk. Ten przycisk otwiera szablon usługi ARM w witrynie Azure Portal.
W witrynie Azure Portal wybierz pozycję Utwórz nową , aby utworzyć nową grupę zasobów, a następnie wybierz przycisk Przejrzyj i utwórz , aby wdrożyć aplikację.
Rozpocznij pracę z usługą aplikacja systemu Azure, wdrażając aplikację w chmurze przy użyciu szablonu usługi Azure Resource Manager (szablonu ARM) i interfejsu wiersza polecenia platformy Azure w usłudze Cloud Shell. Szablon usługi Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. Do wdrożenia aplikacji kontenera systemu Windows jest wymagany plan w warstwie Premium. Aby uzyskać szczegółowe informacje o cenach, zobacz stronę cennika usługi App Service.
Przejdź do końca
Jeśli znasz szablony usługi ARM, możesz przejść do końca, wybierając ten przycisk. Ten przycisk otwiera szablon usługi ARM w witrynie Azure Portal.
W witrynie Azure Portal wybierz pozycję Utwórz nową , aby utworzyć nową grupę zasobów, a następnie wybierz przycisk Przejrzyj i utwórz , aby wdrożyć aplikację.
Przegląd szablonu
Szablon używany w tym przewodniku Szybki start jest jednym z szablonów szybkiego startu platformy Azure. Wdraża plan usługi App Service i aplikację usługi App Service w systemie Windows. Jest ona zgodna z aplikacjami .NET Core, .NET Framework, PHP, Node.js i Static HTML. W przypadku języka Java zobacz Tworzenie aplikacji Java.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16144177164140676603"
}
},
"parameters": {
"webAppName": {
"type": "string",
"defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
"minLength": 2,
"metadata": {
"description": "Web app name."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"sku": {
"type": "string",
"defaultValue": "F1",
"metadata": {
"description": "The SKU of App Service Plan."
}
},
"language": {
"type": "string",
"defaultValue": ".net",
"allowedValues": [
".net",
"php",
"node",
"html"
],
"metadata": {
"description": "The language stack of the app."
}
},
"helloWorld": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "true = deploy a sample Hello World app."
}
},
"repoUrl": {
"type": "string",
"defaultValue": "",
"metadata": {
"description": "Optional Git Repo URL"
}
}
},
"variables": {
"appServicePlanPortalName": "[format('AppServicePlan-{0}', parameters('webAppName'))]",
"gitRepoReference": {
".net": "https://github.com/Azure-Samples/app-service-web-dotnet-get-started",
"node": "https://github.com/Azure-Samples/nodejs-docs-hello-world",
"php": "https://github.com/Azure-Samples/php-docs-hello-world",
"html": "https://github.com/Azure-Samples/html-docs-hello-world"
},
"gitRepoUrl": "[if(bool(parameters('helloWorld')), variables('gitRepoReference')[toLower(parameters('language'))], parameters('repoUrl'))]",
"configReference": {
".net": {
"comments": ".Net app. No additional configuration needed."
},
"html": {
"comments": "HTML app. No additional configuration needed."
},
"php": {
"phpVersion": "7.4"
},
"node": {
"appSettings": [
{
"name": "WEBSITE_NODE_DEFAULT_VERSION",
"value": "12.15.0"
}
]
}
}
},
"resources": [
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2023-01-01",
"name": "[variables('appServicePlanPortalName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('sku')]"
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2023-01-01",
"name": "[parameters('webAppName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"siteConfig": "[variables('configReference')[parameters('language')]]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]",
"httpsOnly": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]"
]
},
{
"condition": "[contains(variables('gitRepoUrl'), 'http')]",
"type": "Microsoft.Web/sites/sourcecontrols",
"apiVersion": "2023-01-01",
"name": "[format('{0}/{1}', parameters('webAppName'), 'web')]",
"properties": {
"repoUrl": "[variables('gitRepoUrl')]",
"branch": "master",
"isManualIntegration": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('webAppName'))]"
]
}
]
}
Dwa zasoby platformy Azure są zdefiniowane w szablonie:
- Microsoft.Web/serverfarms: utwórz plan usługi App Service.
- Microsoft.Web/sites: utwórz aplikację usługi App Service.
Ten szablon zawiera kilka parametrów, które są wstępnie zdefiniowane dla Twojej wygody. Zobacz tabelę zawierającą wartości domyślne parametrów i ich opisy:
Parametry | Typ | Domyślna wartość | opis |
---|---|---|---|
webAppName | string | webApp-<uniqueString> |
Nazwa aplikacji oparta na unikatowej wartości ciągu |
appServicePlanName | string | webAppPlan-<uniqueString> |
Nazwa planu usługi App Service oparta na unikatowej wartości ciągu |
lokalizacja | string | [resourceGroup().location] |
Region aplikacji |
sku | string | F1 |
Rozmiar wystąpienia (F1 = warstwa Bezpłatna) |
język | string | .NET |
Stos języka programowania (.NET, php, node, html) |
Helloworld | boolean | False |
True = Wdrażanie aplikacji "Hello World" |
repoUrl | string | |
Zewnętrzne repozytorium Git (opcjonalnie) |
Szablon używany w tym przewodniku Szybki start jest jednym z szablonów szybkiego startu platformy Azure. Wdraża plan usługi App Service i aplikację usługi App Service w systemie Linux. Jest ona zgodna ze wszystkimi obsługiwanymi językami programowania w usłudze App Service.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "10602523904429381366"
}
},
"parameters": {
"webAppName": {
"type": "string",
"defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
"minLength": 2,
"metadata": {
"description": "Web app name."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"sku": {
"type": "string",
"defaultValue": "F1",
"metadata": {
"description": "The SKU of App Service Plan."
}
},
"linuxFxVersion": {
"type": "string",
"defaultValue": "DOTNETCORE|3.0",
"metadata": {
"description": "The Runtime stack of current web app"
}
},
"repoUrl": {
"type": "string",
"defaultValue": " ",
"metadata": {
"description": "Optional Git Repo URL"
}
}
},
"variables": {
"appServicePlanPortalName": "[format('AppServicePlan-{0}', parameters('webAppName'))]"
},
"resources": [
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2021-02-01",
"name": "[variables('appServicePlanPortalName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('sku')]"
},
"kind": "linux",
"properties": {
"reserved": true
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2021-02-01",
"name": "[parameters('webAppName')]",
"location": "[parameters('location')]",
"properties": {
"httpsOnly": true,
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]",
"siteConfig": {
"linuxFxVersion": "[parameters('linuxFxVersion')]",
"minTlsVersion": "1.2",
"ftpsState": "FtpsOnly"
}
},
"identity": {
"type": "SystemAssigned"
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanPortalName'))]"
]
},
{
"condition": "[contains(parameters('repoUrl'), 'http')]",
"type": "Microsoft.Web/sites/sourcecontrols",
"apiVersion": "2021-02-01",
"name": "[format('{0}/{1}', parameters('webAppName'), 'web')]",
"properties": {
"repoUrl": "[parameters('repoUrl')]",
"branch": "master",
"isManualIntegration": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('webAppName'))]"
]
}
]
}
Dwa zasoby platformy Azure są zdefiniowane w szablonie:
- Microsoft.Web/serverfarms: utwórz plan usługi App Service.
- Microsoft.Web/sites: utwórz aplikację usługi App Service.
Ten szablon zawiera kilka parametrów, które są wstępnie zdefiniowane dla Twojej wygody. Zobacz tabelę zawierającą wartości domyślne parametrów i ich opisy:
Parametry | Typ | Domyślna wartość | opis |
---|---|---|---|
webAppName | string | webApp-<uniqueString> |
Nazwa aplikacji oparta na unikatowej wartości ciągu |
appServicePlanName | string | webAppPlan-<uniqueString> |
Nazwa planu usługi App Service oparta na unikatowej wartości ciągu |
lokalizacja | string | [resourceGroup().location] |
Region aplikacji |
sku | string | F1 |
Rozmiar wystąpienia (F1 = warstwa Bezpłatna) |
linuxFxVersion | string | DOTNETCORE|3.0 |
"Stos języka programowania | Wersja" |
repoUrl | string | |
Zewnętrzne repozytorium Git (opcjonalnie) |
Szablon używany w tym przewodniku Szybki start jest jednym z szablonów szybkiego startu platformy Azure. Wdraża plan usługi App Service i aplikację usługi App Service w kontenerze systemu Windows.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "10193476814580854111"
}
},
"parameters": {
"appServiceWebAppName": {
"type": "string",
"defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
"minLength": 2,
"metadata": {
"description": "Web App name."
}
},
"appServicePlanName": {
"type": "string",
"defaultValue": "[format('webApp-{0}', uniqueString(resourceGroup().id))]",
"minLength": 2,
"metadata": {
"description": "App Service Plan name."
}
},
"skuTier": {
"type": "string",
"defaultValue": "P1v3"
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.Web/sites",
"apiVersion": "2023-01-01",
"name": "[parameters('appServiceWebAppName')]",
"location": "[parameters('location')]",
"tags": {
"[format('hidden-related:{0}', resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName')))]": "empty"
},
"properties": {
"siteConfig": {
"appSettings": [
{
"name": "PORT",
"value": "8080"
}
],
"appCommandLine": "",
"windowsFxVersion": "DOCKER|mcr.microsoft.com/dotnet/samples:aspnetapp"
},
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
]
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2023-01-01",
"name": "[parameters('appServicePlanName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('skuTier')]"
},
"kind": "windows",
"properties": {
"hyperV": true
}
}
]
}
Dwa zasoby platformy Azure są zdefiniowane w szablonie:
- Microsoft.Web/serverfarms: utwórz plan usługi App Service.
- Microsoft.Web/sites: utwórz aplikację usługi App Service.
Ten szablon zawiera kilka parametrów, które są wstępnie zdefiniowane dla Twojej wygody. Zobacz tabelę zawierającą wartości domyślne parametrów i ich opisy:
Parametry | Typ | Domyślna wartość | opis |
---|---|---|---|
webAppName | string | webApp-<uniqueString> |
Nazwa aplikacji oparta na unikatowej wartości ciągu |
appServicePlanName | string | webAppPlan-<uniqueString> |
Nazwa planu usługi App Service oparta na unikatowej wartości ciągu |
lokalizacja | string | [resourceGroup().location] |
Region aplikacji |
skuTier | string | P1v3 |
Rozmiar wystąpienia (wyświetl dostępne jednostki SKU) |
app Ustawienia | string | [{"name": "PORT","value": "8080"}] |
Port nasłuchiwania usługi App Service. Musi być 8080. |
kind | string | windows |
System operacyjny |
hyperv | string | true |
Tryb izolacji |
windowsFxVersion | string | DOCKER|mcr.microsoft.com/dotnet/samples:aspnetapp |
Obraz kontenera |
Wdrażanie szablonu
Interfejs wiersza polecenia platformy Azure służy tutaj do wdrażania szablonu. Możesz również użyć witryny Azure Portal, programu Azure PowerShell i interfejsu API REST. Aby dowiedzieć się więcej o innych metodach wdrażania, zobacz Wdrażanie szablonów.
Poniższy kod tworzy grupę zasobów, plan usługi App Service i aplikację internetową. Ustawiono domyślną grupę zasobów, plan usługi App Service i lokalizację. Zastąp <app-name>
element globalnie unikatową nazwą aplikacji (prawidłowe znaki to a-z
, 0-9
i -
).
Uruchom następujące polecenia, aby wdrożyć aplikację .NET Framework w systemie Windows.
az group create --name myResourceGroup --location "southcentralus"
az deployment group create --resource-group myResourceGroup \
--parameters language=".NET" helloWorld="true" webAppName="<app-name>" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/app-service-docs-windows/azuredeploy.json"
Uruchom następujące polecenia, aby utworzyć aplikację języka Python w systemie Linux:
az group create --name myResourceGroup --location "southcentralus"
az deployment group create --resource-group myResourceGroup --parameters webAppName="<app-name>" linuxFxVersion="PYTHON|3.9" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/app-service-docs-linux/azuredeploy.json"
Aby wdrożyć inny stos języka, zaktualizuj linuxFxVersion
je odpowiednimi wartościami. Przykłady są wyświetlane w tabeli. 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 |
---|---|
.NET | linuxFxVersion="DOTNETCORE|3.0" |
PHP | linuxFxVersion="PHP|7.4" |
Node.js | linuxFxVersion="NODE|10.15" |
Java | linuxFxVersion="JAVA|1.8 |TOMCAT|9.0" |
Python | linuxFxVersion="PYTHON|3.7" |
Uruchom następujące polecenia, aby wdrożyć aplikację .NET w kontenerze systemu Windows.
az group create --name myResourceGroup --location "southcentralus"
az deployment group create --resource-group myResourceGroup \
--parameters webAppName="<app-name>" \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/app-service-docs-windows-container/azuredeploy.json"
Weryfikowanie wdrożenia
Przejdź do http://<app_name>.azurewebsites.net/
witryny i sprawdź, czy został utworzony.
Czyszczenie zasobów
Gdy grupa zasobów nie będzie już potrzebna, usuń grupę zasobów.