我一直在尝试使用Powershell命令行开关在App Service Environment中创建Azure Web App
无论如何,我无法指定我的App Service Environment应该与New-AzureWebApp或New-AzureAppServicePlan命令行开关一起使用
在Web门户中,您将App Service Environment指定为位置...但是Powershell Commandlets似乎无法实现这一点(它们验证该位置是有效的"常规"Azure位置).
回答我自己的问题:
我发现我可以使用New-AzureResourceGroup命令行开关和自定义的JSON模板创建一个新的Web App.我找不到在库中的ASE中配置Web App的任何模板,但是通过对门户使用的模板进行逆向工程,并从库中修改Microsoft.WebSite.0.3.17-preview.json模板,我可以使用以下命令创建WebApp:
New-AzureResourceGroup -Name $ResourceGroupName -Location "Australia Southeast" -TemplateFile $TemplateFile -siteName $SiteName -hostingPlanName $HostingPlanName -hostingEnvironment $HostingEnvironment -siteLocation "Australia Southeast" -workerSize 0 -sku "Premium"
使用$ TemplateFile变量,该变量包含以下模板文件的路径:
这只是Gallery中的0.3.17预览模板,具有以下修改:
添加hostingEnvironment参数
"parameters": {
"hostingEnvironment": {
"type": "string",
"defaultValue": ""
},
将hostingEnvironment属性添加到Microsoft.Web/serverfarms资源:
"resources": [
{
"apiVersion": "2014-06-01",
"name": "[parameters('hostingPlanName')]",
"type": "Microsoft.Web/serverfarms",
"location": "[parameters('siteLocation')]",
"properties": {
"name": "[parameters('hostingPlanName')]",
"sku": "[parameters('sku')]",
"workerSize": "[parameters('workerSize')]",
"hostingEnvironment": "[parameters('hostingEnvironment')]",
"numberOfWorkers": 0
}
},
{
"apiVersion": "2014-06-01",
"name": "[parameters('siteName')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('siteLocation')]",
"tags": {
"[concat('hidden-related:', '/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "empty"
},
"dependsOn": [
"[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
],
"properties": {
"name": "[parameters('siteName')]",
"serverFarm": "[parameters('hostingPlanName')]",
"hostingEnvironment": "[parameters('hostingEnvironment')]"
}
},
我假设这可能也可以使用Add-AzureResource Commandlet完成,但我还没有尝试过.
归档时间: |
|
查看次数: |
1533 次 |
最近记录: |