我正在尝试通过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的示例或其他指针的地方,请问我可以得到请求的形状吗?
答案 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"
}
}