2014-07-02 409 views
0

我有这种方法,上传文件到BLOB存储5-10分钟才刚好工作。 suddendly它开始抛出错误: -上传到azure blob存储

private async Task UploadFileToBlobStorage() 
    { 
     var filename = "AppId_2.zip"; 
     var blobContainer = GetBlobClient.GetContainerReference("testwpclientiapcontainer"); 
     await blobContainer.CreateIfNotExistsAsync(); // Error is coming at this line 

     var blob = blobContainer.GetBlockBlobReference(filename); 

     using (var filestream = Application.GetResourceStream(new Uri(filename, UriKind.Relative)).Stream) 
     { 
      await blob.UploadFromStreamAsync(filestream); 
     } 
    } 

我检查我的帐户和密钥,并尝试其他存储帐户。

错误: -

消息:远程服务器返回错误:禁止。

来源:Microsoft.WindowsAzure.Storage

没有任何人知道这件事?

+0

您可以检查代码运行的机器上的时钟是否有问题吗?在该机器上获取UTC时间,并将其与UTC网站的UTC时间进行比较,如下所示:http://www.worldtimeserver.com/current_time_in_UTC.aspx。 –

+0

@GauravMantri实际上我的Windows手机模拟器时间不匹配。谢谢很多人:) – loop

+0

是的。在两种情况下,您将得到此Forbidden(403)错误:1)当您使用错误的帐户密钥和2)当您运行代码的计算机上的时间与Azure中的时间不同步时。如果时间缩短5至10分钟,事情仍然有效,但超过15分钟左右,您将开始出现此错误。 –

回答

4

请检查您的代码正在运行的计算机(或虚拟机)上的时钟。

你会在两种情况下得到这个紫禁城(403)错误:

  1. 当您使用不正确的账号密码(这是不是因为你能上传文件到您的情况)。

  2. 当您运行代码的计算机上的时间与Azure中的时间不同步时。如果时间缩短5至10分钟,事情仍然有效,但超过15分钟左右,您将开始出现此错误。