按照这个MS Doc,但没有得到预期的结果,即存储帐户中的容器列表:
GET API: https://strprojuatuks001.blob.core.windows.net/?comp=list
错误是:
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>ResourceNotFound</Code>
<Message>The specified resource does not exist.
RequestId:alphanumericid
Time:2024-04-20T05:51:35.1180726Z</Message>
</Error>
几件事:
列出存储帐户中的容器的请求必须获得授权。您需要在请求中包含
Authorization
标头。要了解各种可用的授权方案,请参阅此链接:https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-requests-to-azure-storage。
关于
Authentication scheme Bearer is not supported in this version
错误,您收到此错误的原因是因为您没有在请求中包含 x-ms-version
请求标头。如果请求中未包含此内容,则 REST API 将采用不支持不记名令牌身份验证的默认服务版本。要修复此错误,您需要包含 x-ms-version
标头并将其值设置为支持不记名令牌身份验证的版本。例如,x-ms-version: 2023-08-03
。
关于
how to pass the sAS key/token as a header to the request
,简单的答案是您不包含 SAS 令牌作为请求的标头。 SAS 令牌始终添加到您的请求 URL。如果您使用 SAS 令牌,您的请求 URL 将类似于 https://strprojuatuks001.blob.core.windows.net/?comp=list&<your-sas-token>
。另外,由于您正在尝试列出具有 SAS 令牌的 Blob 容器,因此请确保您已创建一个 Account SAS Token
。