gpt4 book ai didi

c# - 无论如何,是否可以在 azure 函数中使用 AddSecretClient DI 扩展?

转载 作者:行者123 更新时间:2023-12-02 07:36:18 26 4
gpt4 key购买 nike

我正在尝试为我的 azure 功能配置一些依赖项。我需要能够访问(除其他外)一个 azure 的 keystore 。目前,我正在手动访问它,并且必须自己完成所有依赖项注入(inject)。这感觉不对,我开始寻找更好的方法来连接它。我发现this blog这看起来很理想。

public void ConfigureServices(IServiceCollection services)
{
services.AddAzureClients(builder =>
{
// Add a KeyVault client
builder.AddSecretClient(keyVaultUrl);

// Add a storage account client
builder.AddBlobServiceClient(storageUrl);

// Use the environment credential by default
builder.UseCredential(new EnvironmentCredential());
});

services.AddControllers();
}

太棒了,我想这么做。问题是这些扩展似乎不支持 Azure 函数中实现的特定 DI。具体来说,AddSecretClient 的预期类型与注入(inject) Configure(IFunctionsHostBuilder builder) 的构建器之间存在不兼容:

[assembly: FunctionsStartup(typeof(Startup))]
namespace Snapshot.Take
{
[ExcludeFromCodeCoverage]
public class Startup : FunctionsStartup
{


public override void Configure(IFunctionsHostBuilder builder)
{
RegisterHttpClients(builder);

builder.Services.AddLogging();

//error

builder.AddSecretClient(new Uri(""));
}
}
}

The type'Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder'cannot be used as type parameter 'TBuilder' in the generic type ormethod'SecretClientBuilderExtensions.AddSecretClient(TBuilder,Uri)'. There is no implicit reference conversion from'Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder'to 'Azure.Core.Extensions.IAzureClientFactoryBuilderWithCredential'.

这些扩展是否有 Azure 函数版本,还是我必须自己推出?

最佳答案

由于 AddAzureClientsIServiceCollection 上的扩展方法,您可能需要执行以下操作:

  builder.Services.AddAzureClients(clientBuilder =>
{
// Add a KeyVault client
clientBuilder.AddSecretClient(keyVaultUrl);

// Add a storage account client
clientBuilder.AddBlobServiceClient(storageUrl);

// Use the environment credential by default
clientBuilder.UseCredential(new EnvironmentCredential());
});

关于c# - 无论如何,是否可以在 azure 函数中使用 AddSecretClient DI 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63827011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com