gpt4 book ai didi

azure-storage - 是 azure 存储共享访问签名 (SAS) REST API 所需的授权 header

转载 作者:行者123 更新时间:2023-12-05 04:54:36 26 4
gpt4 key购买 nike

我需要读/写 azure 存储表。客户端程序配置为使用共享访问签名来读取/写入远程 azure 表。

任何人都可以给我一个很好的例子来说明如何构造授权 header 以使用 sas 吗?我收到 HTTP 错误代码 403。

Microsoft 文档指定所有其余 API 都必须嵌入授权 header 。默认情况下,文档建议我可以使用存储帐户访问 key 为授权 header 生成 HMAC-SHA 代码。我想我在这里遗漏了一些东西。

使用共享访问签名 (SAS) 的整个想法是保护存储帐户访问 key 。同时,文档似乎暗示存储帐户所有者需要提供帐户访问 key ,以便客户端可以使用访问 key 生成 HMAC-SHA 代码。我在这里错过了什么?任何人都可以在这里阐明一下吗?谢谢,

最佳答案

如果您使用 sas_tokenrequest url , 那么你不需要提供 Authorization在标题中。

如何检查应该提供哪个标题?在related api page -> 转到 Request Headers section -> 检查每个header,如果header是必需的,那么它会在它的Description中描述。这是供您引用的屏幕截图:

enter image description here

以下是使用 sas_token 查询实体的步骤:

1.从 Azure 门户生成 sas_token。您可以引用下面的截图:

enter image description here

2.根据 query-entities -> request-headers 检查需要哪些 header ,我们知道 x-ms-date是必需的(此处不需要 Authorization,因为我们使用的是 sas_token)。您可以为 x-ms-date 提供一个值, 比如 Wed, 13 Jan 2021 01:29:31 GMT .

如果您不知道如何获取 x-ms-date 的值标题,您可以打开 powershell -> 输入 Get-Date命令 -> 然后它将生成日期:

enter image description here

3.准备带有sas_token的请求url,如下:

https://xxx.table.core.windows.net/testtable(PartitionKey='a1',RowKey='r11')?sv=2019-12-12&ss=t&srt=sco&sp=rwdlacu&se=2021-01-13T09:24:58Z&st=2021-01-13T01:24:58Z&spr=https&sig=xxxxx

4.使用一些工具,例如Postman , 发送带有正确 header 的请求。这是使用 Postman 的测试结果:

enter image description here

关于azure-storage - 是 azure 存储共享访问签名 (SAS) REST API 所需的授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65693380/

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