2017-07-04 22 views
-3

我正在創建小型JAVA程序以訪問Azure blob存儲,如下所示。Azure StorageException:發生未知失敗:連接超時:connect

不過,我可以能夠使用存儲資源管理器(具有相同的連接字符串)

訪問同一存儲,但我無法訪問使用Java代碼相同的日食。

CloudStorageAccount account = CloudStorageAccount.parse(storageConnectionString);  

CloudBlobClient serviceClient = account.createCloudBlobClient(); 

// Container name must be lower case. 
CloudBlobContainer container = serviceClient.getContainerReference("testeventdata"); 

// Download the JSON file. 
CloudBlockBlob blob = container.getBlockBlobReference("TEST2.json"); 

// Download file 
File sourceFile = new File("d:\\LHWMSGDownLoad.json"); 

File destinationFile = new File(sourceFile.getParentFile(), 
          "TESTDownLoad.json"); 

// **** On following line I am getting ERROR ***** 
// *********************************************** 
blob.downloadToFile(destinationFile.getAbsolutePath()); 

錯誤說明:

StorageException encountered: com.microsoft.azure.storage.StorageException: An unknown failure occurred : Connection timed out: connect 
    at com.microsoft.azure.storage.StorageException.translateException(StorageException.java:66) 
    at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:200)`enter code here` 
    at com.microsoft.azure.storage.blob.CloudBlob.download(CloudBlob.java:1083) 
    at com.microsoft.azure.storage.blob.CloudBlob.downloadToFile(CloudBlob.java:1771) 
    at com.microsoft.azure.storage.blob.CloudBlob.downloadToFile(CloudBlob.java:1743) 
    at com.iot.tme.EventDataBlobAccess.EventDataBlobAccess.main(EventDataBlobAccess.java:67) 
Caused by: java.net.ConnectException: Connection timed out: connect 
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.connect(Unknown Source`enter code here`) 
    at sun.net.NetworkClient.doConnect(Unknown Source) 
    at sun.net.www.http.HttpClient.openServer(Unknown Source) 
    at sun.net.www.http.HttpClient.openServer(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.New(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at java.net.HttpURLConnection.getResponseCode(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source) 
    at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:119) 
    ... 4 more 
+0

您是否試圖在存儲模擬器或雲存儲帳戶中使用代碼? –

+0

正在使用我的雲存儲帳戶subscrption –

回答

0

按我的經驗,我認爲這不是你的代碼錯誤很明顯,但它可能會通過一些配置在您的本地機器或網絡環境造成的可能性很大,如防火牆阻止來自Java的請求。請檢查並確保這些可能的系統配置或軟件是否阻止它。

相關問題