Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Powershell Commandlet在应用程序服务环境中创建Azure WebApp_Powershell_Azure - Fatal编程技术网

如何使用Powershell Commandlet在应用程序服务环境中创建Azure WebApp

如何使用Powershell Commandlet在应用程序服务环境中创建Azure WebApp,powershell,azure,Powershell,Azure,我一直在尝试使用Powershell命令在应用程序服务环境中创建Azure Web应用程序 我无法指定我的应用程序服务环境应与新AzureWebApp或新AzureAppServicePlan命令一起使用 在Web门户中,您将应用程序服务环境指定为位置。。。但Powershell Commandlet似乎不可能做到这一点(它们验证该位置是否为有效的“常规”Azure位置)。最近Microsoft将Azure网站更改为Azure WebApps。但是,PowerShell cmdlet命令保持不变

我一直在尝试使用Powershell命令在应用程序服务环境中创建Azure Web应用程序

我无法指定我的应用程序服务环境应与新AzureWebApp或新AzureAppServicePlan命令一起使用


在Web门户中,您将应用程序服务环境指定为位置。。。但Powershell Commandlet似乎不可能做到这一点(它们验证该位置是否为有效的“常规”Azure位置)。

最近Microsoft将Azure网站更改为Azure WebApps。但是,PowerShell cmdlet命令保持不变


所以你必须用

来回答我自己的问题:

我发现我可以使用新的AzureResourceGroup命令和定制的JSON模板创建一个新的Web应用程序。我在库中找不到任何在ASE中配置Web应用的模板,但通过反向工程门户使用的模板,并从库中修改Microsoft.WebSite.0.3.17-preview.json模板,我可以使用以下命令创建Web应用:


新AzureResourceGroup-名称$ResourceGroupName-位置“澳大利亚东南部”-模板文件$TemplateFile-站点名称$siteName-主机计划名称$hostingPlanName-主机环境$hostingEnvironment-站点位置“澳大利亚东南部”-工作版本0-sku“高级”

$TemplateFile变量包含以下模板文件的路径:

这只是图库中的0.3.17预览模板,并进行了以下修改:

添加hostingEnvironment参数


“参数”:{
“主机环境”:{
“类型”:“字符串”,
“defaultValue”:”
},

将hostingEnvironment属性添加到Microsoft.Web/serverfarms资源:


“资源”:[
{
“apiVersion”:“2014-06-01”,
“名称”:“[参数('hostingPlanName')]”,
“类型”:“Microsoft.Web/serverfarms”,
“位置”:“[参数('siteLocation')]”,
“财产”:{
“名称”:“[参数('hostingPlanName')]”,
“sku”:“[参数('sku')]”,
“workerSize”:“[参数('workerSize')]”,
“hostingEnvironment”:“[参数('hostingEnvironment')]”,
“numberOfWorkers”:0
}
},
{
“apiVersion”:“2014-06-01”,
“名称”:“[参数('siteName')]”,
“类型”:“Microsoft.Web/sites”,
“位置”:“[参数('siteLocation')]”,
“标签”:{
“[concat('hidden-related:'、'/subscriptions/'、parameters('subscriptionId')、'/resourcegroups/'、parameters('serverFarmResourceGroup')、'/providers/Microsoft.Web/serverfarms/'、parameters('hostingPlanName'))]:“空”
},
“dependsOn”:[
[concat('Microsoft.Web/serverfarms/',parameters('hostingPlanName'))]
],
“财产”:{
“名称”:“[参数('siteName')]”,
“服务器场”:“[parameters('hostingPlanName')]”,
“hostingEnvironment”:“[参数('hostingEnvironment')”
}
},


我假设这也可以使用Add-AzureResource命令来完成,但我还没有尝试过。Microsoft已将ResourceManager命令添加到PowerShell。这允许您执行部署。可以使用以下命令在PowerShell中创建网站:

New-AzureRmResource -Location "West Europe" -Properties $props 
-ResourceName "Site1" -ResourceType "microsoft.web/sites"
-ResourceGroupName "ResourceGrp1" -Force
您需要为属性创建一个对象:

$props = @{
HostingEnvironmentId ='/subscriptions/xyz/resourceGroups/ResourceGroup1/providers/Microsoft.Web/hostingEnvironments/ASE1
ServerFarmId = '/subscriptions/XXXX/resourceGroups/EDSGRP1/providers/Microsoft.Web/serverfarms/ASP1'
HostingEnvironment = ResourceGroup1
ClientCertEnabled ='True'
}

通过在现有站点上使用get-AzureRMResource,您可以了解属性的选项。

我想您会发现在最新的powershell commandlets中有一个新的AzureWebApp命令。无论如何,
New AzureWebApp
New AzureWebApp
都没有任何可识别的选项来在应用程序服务中创建站点e环境。是-可能。我没有尝试此解决方案。但是我看到使用新AzureWeb只会创建一个新的Azure Web应用程序。谢谢。这让我通过了我的阻止。你也可以查询值…这里我正在查询正确的ServiceFarmId。[字符串]$planId='$plan=Get-AzureRmappsServicePlan-Name'MyAppServicePlanName'-ResourceGroupName'MyResourceGroup'-ErrorAction SilentlyContinue if(-not$plan){抛出[System.ArgumentOutOfRangeException]“缺少应用程序服务计划。(ResourceGroupName='MyResourceGroup',AppServicePlan.Name='MyAppServicePlanName')”)#连接此AppService的必要属性$props=@{ServerFarmId=$planId}否则{#写主机“启动AzureRmAppServicePlan属性”#$plan.PSObject.properties#写主机“结束AzureRmAppServicePlan属性”#获取planId,以便可以用作此AppService[String]$planId=$plan.Id}的支持应用程序服务计划