【发布时间】:2020-03-11 15:53:24
【问题描述】:
我使用 botframework 开发了一个聊天机器人,它运行良好,部署在 azure 中也很好。
然后我添加了 KeyVault 服务并再次发布,但这次我收到 502 错误,并且在 appInsights 中此日志:
Microsoft.Bot.Schema.BotException:
at Microsoft.Bot.ChannelConnector.BotAPI+<PostActivityToBotAsync>d__31.MoveNext (Microsoft.Bot.Base.ChannelConnector, Version=3.2.3.7, Culture=neutral, PublicKeyToken=null)
Inner exception System.Exception handled at Microsoft.Bot.ChannelConnector.BotAPI+<PostActivityToBotAsync>d__31.MoveNext:
at Microsoft.Bot.ChannelConnector.BotAPI.ThrowOnFailedStatusCode (Microsoft.Bot.Base.ChannelConnector, Version=3.2.3.7, Culture=neutral, PublicKeyToken=null)
at Microsoft.Bot.ChannelConnector.BotAPI+<PostActivityToBotAsync>d__31.MoveNext (Microsoft.Bot.Base.ChannelConnector, Version=3.2.3.7, Culture=neutral, PublicKeyToken=null)
当我删除(注释部分)实现 KeyVault 服务的代码后,它又可以工作了:
public static IWebHost CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((ctx, builder) =>
{
// var keyVaultEndpoint = GetKeyVaultEndpoint();
// if (!string.IsNullOrEmpty(keyVaultEndpoint))
// {
// var azureServiceTokenProvider = new AzureServiceTokenProvider();
// var keyVaultClient = new KeyVaultClient(new VaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
// builder.AddAzureKeyVault(keyVaultEndpoint, keyVaultClient, new DefaultKeyVaultSecretManager());
// }
}
).UseStartup<Startup>()
.Build();
private static string GetKeyVaultEndpoint() => "https://XXX.vault.azure.net/";
这些是来自Docs的步骤和代码,我已经实现了
【问题讨论】:
标签: azure .net-core botframework azure-keyvault