Web应用程序-更新应用程序设置-json格式

时间:2019-03-26 08:57:32

标签: azure

我正在尝试通过REST调用以编程方式更新Azure函数应用设置,但是无法找出或找到所需的JSON请求的示例。

我已经启动了呼叫,完成了身份验证,但无法弄清所需的JSON的结构。

我已经使用了测试页:https://docs.microsoft.com/en-us/rest/api/appservice/webapps/updateapplicationsettings#code-try-0

以下是更新配置的代码:

private static async Task<string> UpdateConfig(string token, string subscriptionId, string RGName, string siteName, string config)
        {

            var httpClient = new HttpClient();

            string URL = $"https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{RGName}/providers/Microsoft.Web/sites/{siteName}/config/appsettings?api-version=2016-08-01";
            httpClient.DefaultRequestHeaders.Remove("Authorization");
            httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);

            var jsonString = JsonConvert.SerializeObject(config);
            var content = new StringContent(jsonString, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await httpClient.PutAsync(URL, content);

            return response.StatusCode.ToString();
        }

到目前为止,尝试都遇到“ BadRequest-请求主体中不存在SiteAppSettings对象”的问题,因此,我认为我没有正确的JSON。

有人在发布JSON的示例或其他指针的地方,请问我可以得到请求的形状吗?

1 个答案:

答案 0 :(得分:1)

由于不同的应用程序具有不同的设置。因此,如果您不知道Json格式,则可以使用List Application Settings获取应用程序详细信息Json字符串,然后更改要更新的设置。

我在Postman的“应用程序设置”中添加了TestSetting

身体

{
  "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": "8.11.1",
    "TestSetting": "test"
  }
}

enter image description here

enter image description here