2013-12-14 42 views
0

我正在使用以下代碼上傳到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) 

回答

0

您可能會收到此錯誤,因爲您試圖一次性上傳超大文件。上傳大文件時,建議您通過將其分塊分割來上傳它們。在Windows Azure中,您需要將文件拆分成更小的塊並使用PutBlock方法上傳這些塊。一旦所有塊都上傳完畢,您將使用PutBlockList方法提交這些塊。如果您在使用Azure存儲瀏覽器上傳時通過Fiddler跟蹤上傳請求,則應該注意到它正在做同樣的事情。

我有點卡住了,因爲錯誤太模糊了,有沒有需要打開的端口 ?這是在我的本地機器上,但控制檯將在一個 Azure虛擬機上。再次,我需要注意的虛擬機上的任何防火牆設置。

由於與Windows Azure存儲的交互是通過REST API(即在端口80或443上)發生的,因此您不必擔心在防火牆中打開任何其他端口。

相關問題