gpt4 book ai didi

c# - Azure KeyVault 访问明显延迟

转载 作者:行者123 更新时间:2023-12-02 23:08:31 25 4
gpt4 key购买 nike

我们有一个基于 Azure 的 ASP.NET Web 服务,可以访问 Azure KeyVault。我们看到两个实例,其中一个方法在第一次尝试时“挂起”,然后大约一分钟后才开始工作。

在这两种情况下,都会发生 KeyVault 访问。在这两种情况下,当我们开始在这些方法中使用 KeyVault 时,问题就开始了。

我们在第一个实例中进行了非常仔细的日志记录,并且在我们的代码中看不到任何可能导致挂起的其他内容。 KeyVault 访问是主要嫌疑对象。

此外,如果我们从本地服务器(从 Visual Studio)运行该应用程序,则 KeyVault 访问在“第一次尝试”时工作正常。它仅在 Azure 上的生产中运行时才会产生“挂起”错误,并且仅在“第一次尝试”时产生。

我所说的“挂起”是指,在一个由外部 API 触发的实例中,至少需要 60 秒(我们可以看出,因为外部 API 超时。)在另一个实例中,由外部 API 触发一个页面请求,几分钟后页面就会旋转,此时我们假设数据库请求或其他内容已超时。

当我说“一分钟左右之后”时,这与我们设定的重试时间一样快。

是否存在某种问题或功能,KeyVault 在第一次尝试之前需要“预热”?

更新:我正在更仔细地查看代码,我发现至少有几个地方可以插入更多日志记录,以更准确地了解发生故障的位置。我会这样做,然后我会在这里报告。

更新:请参阅下面的答案 - 主要新手错误,已更正。

最佳答案

找到了问题,并给出了解决方案。

Key Vault 访问需要从异步任务调用,因为存在多秒的延迟。

private async Task<string> GetKeyVaultSecretValue(varSecretParms) {

我不了解底层技术,但是,显然,如果调用来自标准代码序列,则服务器不喜欢等待,因此线程被放弃/停止。

关于c# - Azure KeyVault 访问明显延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53487888/

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