Я пытаюсь зарегистрировать свои клиентские зависимости Azure в program.cs (.Net 6)
В program.cs у меня есть:
builder.Services.AddAzureClients(clientBuilder =>
{
clientBuilder.AddSecretClient(builder.Configuration.GetSection("akeyvaulturl"));
clientBuilder.AddBlobServiceClient(HowToGetConfigFromKeyVault).WithName("myblobserviceclient");
});
Единственный пример, который я могу найти, это:
builder.AddBlobServiceClient(Configuration.GetSection("Storage"))
Это нормально, если клиент службы BLOB-объектов хранится в файле appsettings.json и т. д. Но что, если моя конфигурация хранится в KeyVault? В любом случае я не вижу возможности предоставления настроек хранилища ключей в качестве конфигурации.





Я считаю, что вам нужно создать ClientInstance для класса BlobServiceClient, который может принести зависимости для интеграции библиотек конфигурации Azure Key Vault в .NET Core.
После создания/регистрации экземпляра построителя конфигурации мы должны передать значения конфигурации, хранящиеся в соответствующем контейнере службы, таком как Azure Key Vault:
var appOptions = provider.GetService<IOptions<MyApplicationOptions>>();
return new SecretClient(appOptions.Value.KeyVaultEndpoint, credential, options);