如何通过 C# 从 Azure Webjob 更新 Azure AppSettings?
How to update Azure AppSettings from Azure Webjob by C#?
我在 Azure Web 应用程序中托管了 Azure Web 作业,每小时 运行s,我需要将 Web 作业 运行 时间写为键值对。下次当 Webjob 运行 时,它将选择上次 运行 时间并执行其操作。我正在考虑在 Azure App Service 的 Azure AppSettings 中添加键值对,但我无法修改任何代码来更新 Azure AppSettings 中的值。
谁能告诉我密码?请让我知道这是好方法还是我应该使用 Azure 存储容器来存储最后一批 运行 时间值。
but I am not able to fine any code to update the value in Azure AppSettings.
您可以使用 Microsoft.WindowsAzure.Management.WebSites 来实现它。
var credentials = GetCredentials(/*using certificate*/);
using (var client = new WebSiteManagementClient(credentials))
{
var currentConfig = await client.WebSites.GetConfigurationAsync(webSpaceName,
webSiteName);
var newConfig = new WebSiteUpdateConfigurationParameters
{
ConnectionStrings = null,
DefaultDocuments = null,
HandlerMappings = null,
Metadata = null,
AppSettings = currentConfig.AppSettings
};
newConfig.AppSettings[mySetting] = newValue;
await client.WebSites.UpdateConfigurationAsync(webSpaceName, webSiteName,
newConfig);
}
或者使用 Azure Fluent Api,参考这个SO thread。
我在 Azure Web 应用程序中托管了 Azure Web 作业,每小时 运行s,我需要将 Web 作业 运行 时间写为键值对。下次当 Webjob 运行 时,它将选择上次 运行 时间并执行其操作。我正在考虑在 Azure App Service 的 Azure AppSettings 中添加键值对,但我无法修改任何代码来更新 Azure AppSettings 中的值。
谁能告诉我密码?请让我知道这是好方法还是我应该使用 Azure 存储容器来存储最后一批 运行 时间值。
but I am not able to fine any code to update the value in Azure AppSettings.
您可以使用 Microsoft.WindowsAzure.Management.WebSites 来实现它。
var credentials = GetCredentials(/*using certificate*/);
using (var client = new WebSiteManagementClient(credentials))
{
var currentConfig = await client.WebSites.GetConfigurationAsync(webSpaceName,
webSiteName);
var newConfig = new WebSiteUpdateConfigurationParameters
{
ConnectionStrings = null,
DefaultDocuments = null,
HandlerMappings = null,
Metadata = null,
AppSettings = currentConfig.AppSettings
};
newConfig.AppSettings[mySetting] = newValue;
await client.WebSites.UpdateConfigurationAsync(webSpaceName, webSiteName,
newConfig);
}
或者使用 Azure Fluent Api,参考这个SO thread。