【问题标题】:Azure File Storage urls don't work the first timeAzure 文件存储 url 第一次不起作用
【发布时间】:2017-12-18 14:56:15
【问题描述】:

背景: 我正在将一个在 Web 服务器上的本地磁盘上存储图像和文档的旧应用程序转移到 PaaS Azure Web 应用程序,并使用 Azure 文件存储来存储和提供文件。

问题:

我注意到有时文件下载的url第一次失败,或者页面上的图像链接在我刷新之前断开,或者第一次下载失败,然后下一次成功。我猜这是由于 Azure 文件存储的工作方式存在一些问题,并且它还没有启动或其他原因。我观察到的唯一一致的线程是,当我第一次使用它时,这似乎发生在早上一两次。我猜也许我的帐户必须增加或其他什么,所以它在第一轮还没有准备好。我试图想出重现的步骤,但我无法重现症状。如果我的预感是正确的,我将不得不等到明天早上再尝试。如果/可以的话,我会发布更详细的错误信息。

    var fullRelativePath = $"{_fileShareName}/{_fileRoot}/{relativePath}".Replace("//","/");
    return $"{_fileStorageRootUrl}{fullRelativePath}{_fileStorageSharedAccessKey}";

谢谢!

【问题讨论】:

  • 我看到您正在使用共享访问签名。该 SAS 是否有有效的开始日期?如果有一个开始日期并且该值是当前时间,那么问题可能是由于所谓的时钟偏差(本质上是您的计算机上的时间和 Azure 存储上的时间之间存在差异)。
  • 我基本上是在上个月创建了一个可以使用几年的,因为我们还没有弄清楚我们想要将这些值设置为什么。 &se=2025-06-16T18:59:35Z&st=2017-06-16T10:59:35Z&你是说他们的时钟可能认为我的 SAS 开始时间还没有出现吗?我把它设置在六月,所以这不应该是一个问题。不过谢谢!还有其他想法吗?
  • 考虑到开始日期是 6 月,我认为这不是问题。下次出现此错误时,能否请您复制该 URL 并将其粘贴到浏览器的地址栏中。您应该能够看到详细的错误消息。请使用该错误消息更新您的问题。如果可能,还请分享完整的网址(您显然可以更改您分享的网址中的帐户名称)。
  • 有什么更新吗?您是否尝试过@GauravMantri 提供的建议?请将 URL 粘贴到浏览器的地址栏中以获取详细的错误消息并将其发布到此线程以供进一步讨论。
  • 有类似的问题...我的带有 SAS 签名的图片网址有时会在我不断刷新我的网页时工作......我的链接断开了。

标签: azure azure-storage azure-storage-files


【解决方案1】:

所以已经有一段时间了,但我记得我能够解决这个问题,所以我会凭记忆写这个。为了能够通过 URL 从文件存储中访问图像,您需要使用 SAS 令牌。我已经有了,这就是为什么我对此感到困惑。我不确定这是否是理想的解决方案,但我最终所做的只是在 url 的末尾附加了一些随机字符,在 SAS 令牌之后,这使它工作。我的猜测是这让它变得独一无二,这可能有助于它绕过一些行为不正常的缓存机制。

我会看看我是否可以从我的档案中挖掘出工作示例。如果是这样,我会将其附加到此答案中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 2018-10-25
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    相关资源
    最近更新 更多