微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为REST API天蓝色存储SAS共享访问签名构造标头

如何解决如何为REST API天蓝色存储SAS共享访问签名构造标头

我正在调试一个客户端应用程序,该应用程序调用嵌入了 AZURE 存储 SAS 共享访问签名的 REST API 以访问 azure 存储资源。但是,它没有通过。 azure 抛出了一个错误,指出缺少必需的标头,并中止操作。

REST API 相当简单,尽管它嵌入了由 azure 存储帐户生成的 SAS 令牌。客户端应用程序使用 REST API 将数据写入天蓝色 blob。

有什么地方可以找到一个很好的例子来展示如何为 REST API (SAS) 生成标头?我需要找出标题的确切布局(例如需要在标题中嵌入的信息类型。

另外,我是否需要向 Azure AD 注册我的客户端应用程序?

我认为我的客户端应用程序不需要向 AZURE 注册,因为这就是我们拥有客户端 SAS 的原因。但是,我可能是错的。因此,任何输入将不胜感激。

提前致谢。

解决方法

如果使用 sas token 调用 Azure blob rest api,请求 URL 应该是这样的

https://myaccount.blob.core.windows.net/<cantianer>/<blob>?<sastoken>

例如

$accountName=""
$accountKey=""
$containerName="output"
$blobName="test.txt"


$context= New-AzStorageContext -StorageAccountName $accountName -StorageAccountKey $accountKey
$sas = New-AzStorageAccountSASToken -Service Blob -ResourceType Service,Container,Object -Permission "rwdlacx" -Context $context

$body = "Hello"

$headers=@{"x-ms-blob-type"="BlockBlob"; "Content-Type"="text/plain"}

$url="https://$accountName.blob.core.windows.net/$containerName/$blobName$sas"

 Invoke-WebRequest -Uri $url -Method Put -Headers $headers -Body $body -UseBasicParsing

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。