Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Iniziare a usare Servizio app di Azure distribuendo un'app nel cloud con un modello di Azure Resource Manager (modello di Azure Manager) e l'l'interfaccia della riga di comando di Azure in Cloud Shell. Un modello di Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione per il progetto. Non sono previsti costi per completare questa guida introduttiva perché viene usato un livello di servizio app gratuito.
Per completare questa guida introduttiva, è necessario un account Azure con una sottoscrizione attiva. Se non si ha un account Azure, è possibile crearne uno gratuitamente.
Note
A partire dall'API ARM versione 2024-11-01, i siti vengono creati con l'autenticazione di base disabilitata per impostazione predefinita. Se necessario, gli utenti possono abilitarlo manualmente .
Passare alla fine
Se si ha familiarità con l'uso dei modelli di Resource Manager, è possibile passare alla fine selezionando questo pulsante . Questo pulsante apre il modello di Resource Manager nel portale di Azure.
Nel portale di Azure selezionare Crea nuovo per creare un nuovo gruppo di risorse e quindi selezionare il pulsante Rivedi e crea per distribuire l'app.
Iniziare a usare Servizio app di Azure distribuendo un'app nel cloud con un modello di Azure Resource Manager (modello di Azure Manager) e l'l'interfaccia della riga di comando di Azure in Cloud Shell. Un modello di Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione per il progetto. Non sono previsti costi per completare questa guida introduttiva perché viene usato un livello di servizio app gratuito.
Per completare questa guida introduttiva, è necessario un account Azure con una sottoscrizione attiva. Se non si ha un account Azure, è possibile crearne uno gratuitamente.
Note
A partire dall'API ARM versione 2024-11-01, i siti vengono creati con l'autenticazione di base disabilitata per impostazione predefinita. Se necessario, gli utenti possono abilitarlo manualmente .
Passare alla fine
Se si ha familiarità con l'uso dei modelli di Resource Manager, è possibile passare alla fine selezionando questo pulsante . Questo pulsante apre il modello di Resource Manager nel portale di Azure.
Nel portale di Azure selezionare Crea nuovo per creare un nuovo gruppo di risorse e quindi selezionare il pulsante Rivedi e crea per distribuire l'app.
Iniziare a usare Servizio app di Azure distribuendo un'app nel cloud con un modello di Azure Resource Manager (modello di Azure Manager) e l'l'interfaccia della riga di comando di Azure in Cloud Shell. Un modello di Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione per il progetto. Per distribuire un'app contenitore di Windows è necessario un piano Premium. Per informazioni dettagliate sui prezzi, vedere la pagina dei prezzi del servizio app.
Note
A partire dall'API ARM versione 2024-11-01, i siti vengono creati con l'autenticazione di base disabilitata per impostazione predefinita. Se necessario, gli utenti possono abilitarlo manualmente .
Passare alla fine
Se si ha familiarità con l'uso dei modelli di Resource Manager, è possibile passare alla fine selezionando questo pulsante . Questo pulsante apre il modello di Resource Manager nel portale di Azure.
Nel portale di Azure selezionare Crea nuovo per creare un nuovo gruppo di risorse e quindi selezionare il pulsante Rivedi e crea per distribuire l'app.
Rivedere il modello
Il modello usato in questo avvio rapido proviene dai modelli di avvio rapido di Azure. Distribuisce un piano di servizio app e un'app del servizio app in Windows. È compatibile con le app .NET Core, .NET Framework, PHP, Node.js e HTML statiche. Per Java, vedere Creare un'app 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",
"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",
"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."
}
}
},
"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'))]"
]
}
]
}
Nel modello sono definite due risorse di Azure:
- Microsoft.Web/serverfarms: crea un piano del servizio app.
- Microsoft.Web/sites: crea un'app del servizio app.
Questo modello contiene diversi parametri predefiniti per praticità. Vedere la tabella per le impostazioni predefinite dei parametri e le relative descrizioni:
| Parametri | TIPO | Valore predefinito | Descrizione |
|---|---|---|---|
| webAppName | string | webApp-<uniqueString> |
Nome dell'app basato su un valore string univoco |
| appServicePlanName | string | webAppPlan-<uniqueString> |
Nome del piano del servizio app basato su un valore string univoco |
| ubicazione | string | [resourceGroup().___location] |
Area dell'app |
| sku | string | F1 |
Dimensione delle istanze (F1 = livello gratuito) |
| Linguaggio | string | .NET |
Stack del linguaggio di programmazione (.NET, php, node, html) |
| helloWorld | boolean | False |
True = distribuire l'app "Hello World |
| repoUrl (URL del repository) | string | |
Repository Git esterno (facoltativo) |
Il modello usato in questo avvio rapido proviene dai modelli di avvio rapido di Azure. Distribuisce un piano di servizio app e un'app del servizio app in Linux. È compatibile con tutti i linguaggi di programmazione supportati nel servizio app.
{
"$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|8.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'))]"
]
}
]
}
Nel modello sono definite due risorse di Azure:
- Microsoft.Web/serverfarms: crea un piano del servizio app.
- Microsoft.Web/sites: crea un'app del servizio app.
Questo modello contiene diversi parametri predefiniti per praticità. Vedere la tabella per le impostazioni predefinite dei parametri e le relative descrizioni:
| Parametri | TIPO | Valore predefinito | Descrizione |
|---|---|---|---|
| webAppName | string | webApp-<uniqueString> |
Nome dell'app basato su un valore string univoco |
| appServicePlanName | string | webAppPlan-<uniqueString> |
Nome del piano del servizio app basato su un valore string univoco |
| ubicazione | string | [resourceGroup().___location] |
Area dell'app |
| sku | string | F1 |
Dimensione delle istanze (F1 = livello gratuito) |
| linuxFxVersion | string | DOTNETCORE|9.0 |
"Stack del linguaggio di programmazione | Versione" |
| repoUrl (URL del repository) | string | |
Repository Git esterno (facoltativo) |
Il modello usato in questo avvio rapido proviene dai modelli di avvio rapido di Azure. Distribuisce un piano del servizio app e un'app del servizio app in un contenitore di 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
}
}
]
}
Nel modello sono definite due risorse di Azure:
- Microsoft.Web/serverfarms: crea un piano del servizio app.
- Microsoft.Web/sites: crea un'app del servizio app.
Questo modello contiene diversi parametri predefiniti per praticità. Vedere la tabella per le impostazioni predefinite dei parametri e le relative descrizioni:
| Parametri | TIPO | Valore predefinito | Descrizione |
|---|---|---|---|
| webAppName | string | webApp-<uniqueString> |
Nome dell'app basato su un valore string univoco |
| appServicePlanName | string | webAppPlan-<uniqueString> |
Nome del piano del servizio app basato su un valore string univoco |
| ubicazione | string | [resourceGroup().___location] |
Area dell'app |
| skuTier | string | P1v3 |
Dimensioni dell'istanza (Visualizza gli SKU disponibili) |
| appSettings | string | [{"name": "PORT","value": "8080"}] |
Porta di ascolto del servizio app. Deve essere 8080. |
| kind | string | windows |
Sistema operativo |
| hyperv | string | true |
Modalità di isolamento |
| windowsFxVersion | string | DOCKER|mcr.microsoft.com/dotnet/samples:aspnetapp |
Immagine del contenitore |
Distribuire il modello
In questo caso per distribuire il modello viene usata l'interfaccia della riga di comando di Azure. È anche possibile usare il portale di Azure, Azure PowerShell e l'API REST. Per informazioni sugli altri metodi di distribuzione, vedere Distribuire modelli.
Il codice seguente crea un gruppo di risorse, un piano di servizio app e un'app Web. Un gruppo di risorse, un piano di servizio app e una posizione predefiniti sono impostati automaticamente. Sostituire <app-name> con un nome di app univoco globale (i caratteri validi sono a-z, 0-9 e -).
Eseguire i comandi seguenti per distribuire un'app .NET Framework in 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"
Eseguire i comandi seguenti per creare un'app Python in 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"
Per distribuire uno stack di linguaggio diverso, aggiornare linuxFxVersion con i valori appropriati. Nella tabella sono visualizzati degli esempi. Per visualizzare le versioni correnti, eseguire il comando seguente in Cloud Shell:
az webapp config show --resource-group myResourceGroup --name <app-name> --query linuxFxVersion
| Linguaggio | Esempio |
|---|---|
| .NET | linuxFxVersion="DOTNETCORE|9.0" |
| Giava | linuxFxVersion="JAVA|21-java21 TOMCAT|11.0-java21 JBOSSEAP|8-java17" |
| Node.js | linuxFxVersion="NODE|22-lts |
| Pitone | linuxFxVersion="PYTHON|3.13" |
| PHP | linuxFxVersion="PHP|8.4" |
Eseguire i comandi seguenti per distribuire un'app .NET in un contenitore di 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"
Note
È possibile trovare altri esempi di modelli del Servizio app di Azure qui.
Convalidare la distribuzione
Passare a http://<app_name>.azurewebsites.net/ e verificare che la creazione sia stata completata.
Pulire le risorse
Quando non è più necessario, eliminare il gruppo di risorse.