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

时间:2013-12-14 15:36:02

标签: .net azure storage

我正在使用以下代码上传到Azure。一个小文件就可以了,但是一个较大的文件(只有30MB)会引发一个500错误。 Azure存储资源管理器上传没有任何问题。这似乎是一个超时,因为抛出错误需要很长时间。我有点卡住,因为错误是如此模糊是否有任何需要打开的端口?这是在我的本地计算机上,但控制台将在Azure VM上。我需要知道VM上的任何防火墙设置。

    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)

1 个答案:

答案 0 :(得分:0)

您可能会收到此错误,因为您尝试一次上传一个非常大的文件。上传大文件时,建议您通过将它们分成块来上传它们。在Windows Azure术语中,您需要将文件拆分为较小的块并使用PutBlock方法上载这些块。上传所有块后,您将使用PutBlockList方法提交这些块。如果您在使用Azure Storage Explorer上传时通过Fiddler跟踪上传请求,您应该注意到它正在执行相同的操作。

  

我有点卡住,因为错误是如此模糊,是否有任何需要的端口   开放?这是在我的本地机器上,但控制台将在   Azure VM。我需要知道VM上的任何防火墙设置。

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