Azure 应用服务 ApiApp

Azure App Service ApiApp

我正在尝试使用 PowerShell 在 Azure App Service 中创建一个 API 应用程序。

默认情况下,我调用的 cmdlet 总是创建一个 Web 应用程序。如果可能的话,我想知道如何将 type/kind 指定为 Api App 而不是 Web App

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

根据我的阅读,除了图标外两者之间没有太大区别,如果我的应用程序就是这样,是否值得将类型设置为 "Api App"?

我使用的是 AzureRM PowerShell 模块的 5.4.0 版。

> Get-Module "AzureRM"

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

New-AzureRmWebApp 中没有参数支持明确指示是 API App 还是 Web App。资源提供者仍然是Microsoft.Web。而且ARM模板中没有表示类型的参数。

这两种类型在技术上仍然以相同的方式工作。区别在于用途、图标、OS 运行 选择和调试能力(参考此处 )。

您可能希望通过标记来区分这两种类型,如果您的资源组有很多网络资源,这将有助于管理。

您可以通过 Azure 门户创建 API 应用程序,或 Visual Studio。

此外,请查看 Azure API 管理以获得更灵活的 API 包装而不是 Azure 应用服务。

只需调用 New-AzureRmResource 并传入 -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

..它会生成一个 API 应用程序,一个 api 类型的 类型 资源:

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

访问 https://resources.azure.com 并导航到现有 API 应用程序,通过将 PowerShell 选项卡与 JSON 资源定义中的所需值组合来构建 PowerShell 语法。