Я пытаюсь создать (обновить, если существует) значения конфигурации приложения Azure через контроллер .NET 7 C#.
Цель состоит в том, чтобы отправить пару ключ-значение в формате JSON через мой контроллер и позволить моему серверному процессу сохранить эту пару ключ-значение в Azure App Config.
Итак, вопрос: могу ли я отправить пару ключ-значение в Azure App Config через свой код C#?
PS: Я знаю, что это возможно через Azure CLI и импорт через портал :)
Я могу сделать это, используя SetConfigurationSetting. Обратитесь к этому MSDoc один раз. Изображение
a key-value pair as json through my controller, можете ли вы поделиться образцом json?
У меня есть решение, как создать конфигурацию приложения из кода. Если вы отправите формат json и откуда вы хотите отправить. Я опубликую подробный ответ.
это может быть откуда угодно, из контроллера или службы. Я просто хочу установить пару ключ-значение. оба являются строкой. вот так {"key":"value"} . Итак, мой контроллер в основном принимает Dictionary<string, string>





Могу ли я отправить пару «ключ-значение» в Azure App Config через свой код C#?
Да, вы можете отправить ключ-значение из метода действия контроллера и создать пару ключ-значение в Azure App Configuration.
SetConfigurationSetting для создания пары «ключ-значение».Мой appsettings.json файл:
"AppConfig": "Endpoint=https://harshuappconfig.azconfig.io;Id=RoKQ;Secret=****************"
Мой Program.cs файл:
var appConfig = builder.Configuration["AppConfig"];
builder.Services.AddAzureAppConfiguration();
Мой Controller ActionMethod:
private readonly IConfiguration config;
private readonly ConfigurationClient configClient;
public HomeController(IConfiguration myconfig, ILogger<HomeController> logger)
{
_logger = logger;
config = myconfig;
var connectionString = config["AppConfig"];
configClient = new ConfigurationClient(connectionString);
}
public IActionResult Index()
{
var KVPair = JObject.Parse(@"{""Name"":""Harshitha"",""SurName"":""Veeramalla""}");
foreach (var kv in KVPair)
{
Console.WriteLine($"Key '{kv.Key}' updated value '{kv.Value}' in Azure App Config.");
var setting = new ConfigurationSetting(kv.Key, kv.Value.ToString());
configClient.SetConfigurationSetting(setting);
}
return View();
}
Выход:


Спасибо за ваш ответ. Это дублирующее доказательство? Что произойдет, если вы отправите один и тот же запрос дважды? У вас в итоге получается две конфигурации или обновляется только существующая?
Для того же запроса он обновляет значение существующего ключа.
Я попробовал это со своей стороны. Для нового запроса будет создано новое значение ключа. Для существующего ключа обновляется значение.
Спасибо, Харшита. Я очень ценю ваше время и усилия, которые вы мне помогли.
Вы проверили это со своей стороны?
@NaveenSharma да. Я собирался это сделать, когда получил ответ на свой вопрос в виде комментария. Спасибо, что еще раз отметили :)
да, это работает как шарм. ты герой. Также оцените вопрос, если не возражаете :)
Да, это можно сделать с помощью метода действия контроллера.