【发布时间】:2017-10-25 15:48:11
【问题描述】:
得到以下错误:
服务器未能验证请求。确保值 包括签名在内的授权标头格式正确。
我使用的是WindowsAzure.Storage包来获取blob流,很简单。
_blobClient = CloudStorageAccount
.Parse(options.ConnectionString)
.CreateCloudBlobClient();
var blob = _blobClient.GetContainerReference(containerName)
.GetBlobReference(blobName);
var file = await blob.OpenReadAsync(null, _requestOptions,
_context).ConfigureAwait(false);
我已经尝试使用帐户密钥和名称以及连接字符串,结果是一样的。
使用 Azure 存储资源管理器也会发生同样的情况,我无法将任何文件上传到存储。 (只是以 0% 的进度继续上传)。仅当我直接连接到我的 Microsoft 帐户时才有效。
- 我的电脑时间和时区是自动设置的。
- 存储区域为东南亚、东亚
还有什么额外的配置需要做的吗?
谢谢
【问题讨论】:
-
请检查两件事:1) 使用的存储帐户密钥是否正确。 2)您本地机器上的时间是正确的。根据我的经验,这是您收到错误的两个原因。
-
您是否使用共享访问令牌 (SAS) 访问存储?
-
@GauravMantri 存储帐户是直接从 Azure 门户复制的,时间和时区是自动设置的。这是一个全新的帐户。我的时区是 UTC +8:00,存储的选定区域是东南亚、东亚。
-
@aaronR 使用存储帐户和密钥
-
David...当您在代码中收到错误时,您可以检查您收到的 StorageException 的
RequestInformation属性吗?通常您会找到有关此错误的更多详细信息(请查看其中的ExtendedErrorInformation)。请使用这些详细信息更新您的问题。谢谢。