我对天蓝色斑点有一个很奇怪的问题。我有一个使用SAS URL访问其Blob的图片容器。
“ https:// {storageName} .blob.core.windows.net / {container} / target_6ace5a78-83a9-4579-b348-2d0097aa1873 / a85b8a1c-41c7-42f4-b8cb-a6389cd4cb2a?sp = rwdl&st = 2019- 02-14T10:25:00Z&= 2020-02-16T10:25:00Z&sv = 2018-03-28&sig = {signatureKey}&sr = c“
当我在浏览器中使用上述URL时,它会给出403,但是当我按如下所示修改上述URL时,它工作正常。唯一的变化是它现在的编码,即 &
被 &
“ https:// {storageName} .blob.core.windows.net / {container} / target_6ace5a78-83a9-4579-b348-2d0097aa1873 / a85b8a1c-41c7-42f4-b8cb-a6389cd4cb2a?sp = rwdl {{1 }}; st = 2019-02-14T10:25:00Z
&
; = 2020-02-16T10:25:00Z&
; sv = 2018-03-28&
; sig = {signatureKey}&
; sr = c“
我无法理解该问题,因为如果没有编码的url,其他一些容器SAS URL也可以正常工作,但是在这个特定的容器中,为什么我需要一个编码的URL。
答案 0 :(得分:1)
因此,第一个URL出现403错误的原因是因为您的URL中缺少se
参数。如果您将URL更改为:
“ https:// {storageName} .blob.core.windows.net / {container} / target_6ace5a78-83a9-4579-b348-2d0097aa1873 / a85b8a1c-41c7-42f4-b8cb-a6389cd4cb2a?sp = rwdl&st = 2019- 02-14T10:25:00Z& se = 2020-02-16T10:25:00Z&sv = 2018-03-28&sig = {signatureKey}&sr = c“
您的请求应该可以正常工作。
关于为什么第二个URL起作用的原因是,由于blob容器没有Private
ACL,因此存储服务完全忽略了查询字符串。因此,如果您仅复制并粘贴以下网址:
“ https:// {storageName} .blob.core.windows.net / {container} / target_6ace5a78-83a9-4579-b348-2d0097aa1873 / a85b8a1c-41c7-42f4-b8cb-a6389cd4cb2a”
您应该看到blob正在下载。