gpt4 book ai didi

http-headers - HTTP RANGE header 是否适用于 Azure Blob 存储共享访问签名?

转载 作者:行者123 更新时间:2023-12-04 10:25:50 25 4
gpt4 key购买 nike

我使用 Azure Blob 存储来存储媒体文件并使用共享访问签名提供对这些文件的访问;在这方面一切正常。

但是,我有一个客户端应用程序需要“恢复”对这些文件的访问,并使用 HTTP RANGE header 执行此操作。当它发出这样的请求时,它对从 Azure 返回的结果不满意。

我不确定如何在 Azure 端查看详细信息以查看请求是否失败,或者它是否只是返回了客户端不期望的内容,并且我对客户端没有调试可见性。

这是传入范围 header 的样子:

RANGE: bytes=4258672-

从我读过的 Azure 文档来看,它似乎支持 RANGE header ,但是我想知道将 RANGE 和共享访问签名一起使用是否存在冲突?

更新:
Azure 似乎为 RANGE 请求返回了错误的状态代码,这导致我的客户端应用程序拒绝响应。该文档指出,在响应 RANGE 请求时,Azure 将使用 HTTP 状态代码 206 进行响应,但是当我发出这样的 RANGE 请求时:
curl -I -H "User-Agent: Bonos" -r 500- "https://murfie.blob.core.windows.net/168464/1.mp3?st=2013-07-03T16%3A34%3A32.4832235Z&se=2013-07-03T17%3A34%3A32.4613735Z&sr=b&sp=r&sig=mJgQGW%2Fr3v8HN2%2BVV3Uady7J68nFqeHyzQb37HAhfuE%3D"

Azure 返回以下内容:
HTTP/1.1 200 OK
Content-Length: 19988911
Content-Type: application/octet-stream Charset=UTF-8
Last-Modified: Fri, 07 Jun 2013 16:44:50 GMT
ETag: 0x8D031B57670B986
Server: Blob Service Version 1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 77312761-65a9-42ef-90cd-ff718a80b231
Date: Wed, 03 Jul 2013 16:41:01 GMT

最佳答案

我们解决了这个问题。

正如@BrentDaCodeMonkey 所提到的,如果您使用 API 版本 2011-01-18 或更高版本,Azure 会返回预期的 206 响应,但在我们的情况下,我们不发起请求,因此我们无法使用请求 header 指定它。

但是,一些 Microsoft friend 向我们提示,您可以为存储帐户全局设置 API 版本,但是您需要使用 REST API 来执行此操作(这不是您可以在管理 UI 中执行的操作)。这篇文章解释了如何:

http://msdn.microsoft.com/en-us/library/windowsazure/hh452235.aspx

将 DefaultServiceVersion 设置为 2011-01-18 后,我们现在正在为 RANGE 请求取回预期的 206 状态。

关于http-headers - HTTP RANGE header 是否适用于 Azure Blob 存储共享访问签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17408927/

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