我在Azure应用服务计划上运行了一个Web应用。 Web应用程序在Web App的应用程序设置中定义了许多设置。现在我想用它的所有应用程序设置复制该Web应用程序。我得到了REST API,列出了可用于任何Web应用程序的所有设置(/ api / settings)。虽然有一个POST调用来添加/更新设置,但它没有更新应用程序设置。
是否有任何REST API可以添加/更新Azure Web应用程序的应用程序设置?
谢谢, 阿比拉姆
答案 0 :(得分:1)
据我所知,没有。但您是否考虑过使用ARM模板编写Web应用程序设置脚本?这正是ARM模板的用途。
下面列出了Web应用程序ARM模板的属性部分示例,该模板允许您编写appSettings和connectionStrings脚本:
"properties": {
"name": "YourWebAppsName",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', YourAppServicePlanName)]",
"siteConfig": {
"appSettings": [
{
"name": "someAppSettingKey",
"value": "someAppSettingValue"
},
{
"name": "someOtherAppSettingKey",
"value": "someOtherAppSettingValue"
}
],
"connectionStrings": [
{
"name": "defautlConnection",
"connectionString": "YourConnectionString",
"type": "2"
},
]
}
部署ARM模板时,Azure将确保目标资源的设置与模板中指定的设置相匹配。
Visual Studio有一个用于开发和部署这些项目的项目类型。它是位于项目模板中的Cloud节点下的Azure Resource Group项目类型。
作为额外的好处,您可以将这些ARM模板与代码一起检查到源代码管理中。
答案 1 :(得分:1)
是否有任何REST API可以添加/更新Azure Web应用程序的应用程序设置?
是的,我们可以使用以下Update Application Settings REST API
更新应用程序设置Put https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource group}/providers/Microsoft.Web/sites/{WebAppName}/config/appsettings?api-version=2016-08-01
体
{
"id": "subscriptions/{subscriptionId}/resourceGroups/{resource group}/providers/Microsoft.Web/sites/{WebAppName}/config/appsettings",
"name": "appsettings",
"type": "Microsoft.Web/sites/config",
"location": "South Central US",
"tags": {
"hidden-related:/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/tomfreePlan": "empty"
},
"properties": {
"WEBSITE_NODE_DEFAULT_VERSION": "6.9.1",
"Test1": "testValue1" //Added value
}
}
注意:我们可以使用以下List Application Settings REST API 帖子方式列出appsetting正文。
Post https://management.azure.com/subscriptions/{subscription}/resourceGroups/CXP-{resourceGroup}/providers/Microsoft.Web/sites/{WebAppName}/config/appsettings/list?api-version=2016-08-01