gpt4 book ai didi

azure-bicep - Bicep - 如何将运行时堆栈配置到 Azure 应用服务(Bicep 版本 0.4)

转载 作者:行者123 更新时间:2023-12-03 08:21:02 31 4
gpt4 key购买 nike

我能够使用最新的 Bicep 版本 0.4 创建应用服务计划和应用服务。

resource myAppServicePlan 'Microsoft.Web/serverfarms@2021-01-01'={
name: AppServicePlanName
location: Location
sku: {
name: appServicePlanSkuName
tier: AppServiceTier
}
}
resource myAppService 'Microsoft.Web/sites@2021-01-01'={
name: AppServiceName
location: Location
properties:{
serverFarmId: myAppServicePlan.id
}
}

默认使用ASP.NET 4.8作为框架版本。我想使用 Netcore 3.1 框架。有办法实现吗?

请提出建议。谢谢。普拉文

最佳答案

二头肌版本并不重要,您可以通过为资源设置适当的参数来配置它。对于 Linux 计划,它是 LinuxFxVersion,与 ARM 中的相同,但编写语法不同。您需要查看应用服务文档以获取更多详细信息:https://learn.microsoft.com/en-us/azure/app-service/quickstart-arm-template

如果您无法确定需要在 bicep/ARM 中设置哪个属性,一种选择是在浏览器中打开开发人员工具并检查 Portal 发送到 management.azure.com 的 POST 消息,或者转到 resources.azure.com 并查看已配置(通过门户)资源的详细信息或使用导出模板功能。

编辑:
对于 Windows 应用服务计划设置运行时堆栈有点复杂。基本上,属性 netFrameworkVersion 可以是 v3.0 v4.0v5.0

但是要获得核心,您似乎需要使用站点/配置中的元数据进行操作:

resource myAppService 'Microsoft.Web/sites@2021-01-01' = {
name: AppServiceName
location: Location
properties:{
serverFarmId: myAppServicePlan.id
}

resorce 'webConfig' config = {
name: 'web'
properties: {
metadata: [
{
name: 'CURRENT_STACK'
value: 'dotnetcore'
}
]
}
}
}

如果您希望返回到 .NET 或切换到 .NET5(然后切换到 .NET6),您需要将值设置回 dotnet 并使用 netFrameworkVersion 属性。

似乎当您的 CURRENT_STACK 值为 dotnetcore 时,netFrameworkVersion 会被忽略。

我通过观察 PUT 请求提取了这些知识 - 门户在更改堆栈时会做什么。我不知道什么选项可以设置不同的堆栈,例如 Java 或 PHP。可能以类似的方式 - CURRENT_STACK + site/config 'web' 中其他属性的某种组合。

好像没有这方面的文档。

顺便说一句 - 不要尝试在 Microsoft.Web/Sites 资源中使用它 - 将 Microsoft.web/sites/configweb 一起使用> 改为名称。我有过这样的经历:虽然我可以使用 siteConfig 属性下的这些选项,但它不是由资源提供程序 API 设置的。

关于azure-bicep - Bicep - 如何将运行时堆栈配置到 Azure 应用服务(Bicep 版本 0.4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67823980/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com