Можем ли мы получить configurationClient и / или secretClient из объекта построителя конфигурации в ядре AzureFunction .net?

Я работал над проектом, который требовал от меня создать ссылку на Keyvault в azure AppConfiguration, добавить / обновить секреты в KeyVault и получить доступ к значениям в AppConfiguration с помощью конфигурации. В настоящее время я использую:

-ConfigurationClient для создания ключевой ссылки на хранилище.

-SecretClient для добавления / обновления секретов в KeyVault.

-Configuration build с использованием builder.AddAzureAppConfiguration(). Build() для доступа к значениям в AppConfiguration.(Использование builder.AddAzureAppConfiguration() является необходимостью из-за его функций).

Итак, в основном здесь выполняется 3 подключения к лазурному. Есть ли способ уменьшить нет. подключений? Например, использование ConfigurationBuilder для получения ConfigurationClient и / или SecretClient.

1 ответ

Поскольку ваше приложение обращается к двум разным ресурсам, конфигурации приложения и хранилищу ключей, необходимо как минимум два подключения. Это связано с отсутствием поддержки общих подключений к различным службам.

Предполагая, что ваше приложение использует ConfigureKeyVault для доступа к ссылкам на Key Vault вызов AddAzureAppConfiguration().Build()фактически создает два подключения - одно к конфигурации приложения, а другое к Key Vault. В данном случае всего 4 подключения. Вы можете уменьшить его до 3, зарегистрировавSecretClient вы создали для добавления / обновления секретов в Key Vault в AddAzureAppConfiguration метод.

SecretClient secretClient = new SecretClient(new Uri("http://my-keyvault-uri"), new DefaultAzureCredential());

builder.AddAzureAppConfiguration(options =>
{
    options.Connect(settings["connection_string"])
            .ConfigureKeyVault(kv => kv.Register(secretClient));
});

В настоящее время не существует поддерживаемого способа предоставить существующий экземпляр ConfigurationClient при настройке AddAzureAppConfiguration метод, но он может поддерживаться в будущем.

Другие вопросы по тегам