上传到Azure存储时出现内部500错误

问题描述:

我正在使用以下代码上传到Azure。小文件可以,但较大的文件(只有30MB)会引发500错误。 Azure存储浏览器上传时没有问题。这似乎是一个时间,因为它需要很长的时间来抛出错误。由于错误非常模糊,有没有需要打开的端口?这是在我的本地机器上,但控制台将位于Azure虚拟机上。再次,我需要注意的虚拟机上的任何防火墙设置。上传到Azure存储时出现内部500错误

CloudStorageAccount = New CloudStorageAccount(New StorageCredentials("account", "key"), True) 
    Dim BlobClient = CloudStorageAccount.CreateCloudBlobClient() 
    Dim Container = BlobClient.GetContainerReference("container") 
    Dim CloudBlob = Container.GetBlockBlobReference("forcast/forcast.csv") 
    CloudBlob.UploadFromFile("C:\HadoopTestData\forcast.csv", IO.FileMode.Open) 

您可能会收到此错误,因为您试图一次性上传超大文件。上传大文件时,建议您通过将其分块分割来上传它们。在Windows Azure中,您需要将文件拆分成更小的块并使用PutBlock方法上传这些块。一旦所有块都上传完毕,您将使用PutBlockList方法提交这些块。如果您在使用Azure存储浏览器上传时通过Fiddler跟踪上传请求,则应该注意到它正在做同样的事情。

我有点卡住了,因为错误太模糊了,有没有需要打开的端口 ?这是在我的本地机器上,但控制台将在一个 Azure虚拟机上。再次,我需要注意的虚拟机上的任何防火墙设置。

由于与Windows Azure存储的交互是通过REST API(即在端口80或443上)发生的,因此您不必担心在防火墙中打开任何其他端口。