用于向Azure Webapp应用程序设置添加属性的API

时间:2017-12-11 09:41:09

标签: azure azure-web-sites azure-app-service-plans

我在Azure应用服务计划上运行了一个Web应用。 Web应用程序在Web App的应用程序设置中定义了许多设置。现在我想用它的所有应用程序设置复制该Web应用程序。我得到了REST API,列出了可用于任何Web应用程序的所有设置(/ api / settings)。虽然有一个POST调用来添加/更新设置,但它没有更新应用程序设置。

是否有任何REST API可以添加/更新Azure Web应用程序的应用程序设置?

谢谢, 阿比拉姆

2 个答案:

答案 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
  }
}

enter image description here

注意:我们可以使用以下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