检查(不进行身份验证)URL是否指向Azure存储



我的问题如下:我有一个url列表。有些指向Azure存储文件,有些指向常规全局域。我想把这个列表分成两部分——全局url列表和Azure存储url列表。它必须在没有身份验证的情况下完成,因为在这一点上它只是一个随机的URL -我不知道它位于哪个存储帐户以及使用什么密钥。它还必须尽可能高效。(如果重要的话,文件是。png图像)

现在,我想检查"Exists()"在整个列表中,这听起来像是一个合法的解决方案吗?它会起作用吗?也许有更有效的方法?

提前感谢!

您实际上可以尝试的一个潜在hack是创建一个HEAD request到URL。您需要做的是解析响应头。每个对Azure Blob Storage的请求都有一个名为x-ms-request-id的响应头。

您可以使用此GUID来区分URL指向blob存储和全局域的场景。

  • 如果它是一个有效的Blob URL,你将得到状态码200。
  • 如果没有,你将得到状态码404返回,但是你将收到x-ms-request-id响应头返回。

相关内容

最新更新