Azure App Service ApiApp

夙愿已清 提交于 2019-12-10 21:48:08

问题


I am trying to create an API App in Azure App Service with PowerShell.

The cmdlet I am calling always create a Web App by default. If it is possible, I would like to know how I can specify the type/kind to be Api App instead of Web App?

New-AzureRmWebApp -Name $name -Location $location -AppServicePlan $plan -ResourceGroupName $resourceGroup

From my reading there is not much different between both except the icon, is it worth it to set the type to "Api App" if it's what my app is all about?

I am using version 5.4.0 of AzureRM PowerShell module.

> Get-Module "AzureRM"

ModuleType Version    Name                                                 
---------- -------    ----
Script     5.4.0      AzureRM

回答1:


Just call New-AzureRmResource instead and pass in -Kind 'api':

# CREATE "just-an-api" API App

$ResourceLocation = "West US"
$ResourceName = "just-an-api"
$ResourceGroupName = "demo"
$PropertiesObject = @{
    # serverFarmId points to the App Service Plan resource id
    serverFarmId = "/subscriptions/SUBSCRIPTION-GUID/resourceGroups/demo/providers/Microsoft.Web/serverfarms/plan1"
}

New-AzureRmResource -Location $ResourceLocation `
    -PropertyObject $PropertiesObject `
    -ResourceGroupName $ResourceGroupName `
    -ResourceType Microsoft.Web/sites `
    -ResourceName "just-an-api/$ResourceName" `
    -Kind 'api' `
    -ApiVersion 2016-08-01 -Force

..which produces an API App, a Microsoft.Web/sites resource type of the api kind:

Hold on.. How did you come up with this stuff?

Visit https://resources.azure.com and navigate to an existing API App, build the PowerShell syntax by combining the PowerShell tab with the desired values from the JSON resource definition.




回答2:


There is not a parameter in New-AzureRmWebApp supported to explicitly indicate whether API App or Web App. The resource provider is still Microsoft.Web. And there is no parameter which indicates the type in ARM template.

These two types technically still work in the same way. The difference would be the purpose, icon, OS running choice and debugging capability (refer here What is the difference between an API App and a Web App?).

You may want to classify between the two types by tagging it, which would help manage in case your resource groups have many web resources.

You can create API App via Azure Portal, or Visual Studio.

Also, look at Azure API Management for more flexibility of API wrapping instead of Azure App Service.



来源:https://stackoverflow.com/questions/49328159/azure-app-service-apiapp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!