gpt4 book ai didi

azure - 对 Azure Blob 存储的匿名请求的 header 是什么样的

转载 作者:行者123 更新时间:2023-12-03 05:17:56 24 4
gpt4 key购买 nike

我是 Azure 新手,我正在尝试使用 cURL 获取我的 Azure blobe 内的项目列表。我已配置对 blob 的匿名读取访问 enter image description here

但是,当我运行此请求时:curl -X GET -H "x-ms-version:2021-08-06"-H "x-ms-date:$(date -Ru | sed 's/\+0000/GMT/')"https://name.blob.core.windows.net/name2 我得到:服务器无法验证请求。请引用www-authenticate header中的信息

我尝试添加 "Authorization:Basic""Authorization:Anonumous" 但这不起作用。

我还尝试了使用 SAS token URL 的其他方法 enter image description here

那么我的请求如下所示:curl -X GET -H "x-ms-version:2021-08-06"-H "x-ms-date:$(date -Ru | sed 's/\+0000/GMT/')"'https://name.blob.core.windows.net/name2?sp=r&st=2022-10-12T19:53:09Z&se=2022-10-13T03:53:09Z&skoid=c49c35ef-99c7-49c5-835b-92418a2ccdb6&sktid =b1404f36-3c1b-42e2-9c8d-1b0066b5ff86&skt=2022-10-12T19:53:09Z&ske=2022-10-13T03:53:09Z&sks=b&skv=2021-06-08&spr=https&sv=2021-06-08 &sr=c&sig= token '

但这会返回:

<AuthenticationErrorDetail>Signature did not match. String to sign used was r
2022-10-12T19:53:09Z
2022-10-13T03:53:09Z
/blob/name/$root
c49c35ef-99c7-49c5-835b-92418a2ccdb6
b1404f36-3c1b-42e2-9c8d-1b0066b5ff86
2022-10-12T19:53:09Z
2022-10-13T03:53:09Z
b
2021-06-08




https
2021-06-08
c






</AuthenticationErrorDetail></Error>

如何解决这两种情况?

最佳答案

当您将访问级别设置为“Blob”时,您需要使用 Blob 的完整 URL(例如 https://account.blob.core.windows.net/container-name/blob-name )无需任何授权信息即可访问 blob。

但是,您为 GET 请求指定的 URL 是 https://name.blob.core.windows.net/name2。由于 Blob URL 不包含容器名称,Azure 存储尝试在 $root 中查找 Blob。容器。鉴于您已在名为 alldatastorage 的容器上设置权限(根据您的屏幕截图),而不是在 $root 容器上设置权限,因此您将收到 403 错误。

要解决此问题,您所需要做的就是使用 blob 的完整 URL。例如,如果您的 Blob 名称为 myfile.txt,则您的 URL 将为 https://name.blob.core.windows.net/alldatastorage/myfile.txt。在这种情况下您不应该收到此错误。

关于azure - 对 Azure Blob 存储的匿名请求的 header 是什么样的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74047512/

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