【问题标题】:Azure StorageException: An unknown failure occurred : Connection timed out: connectAzure StorageException:发生未知故障:连接超时:连接
【发布时间】:2017-12-07 15:57:16
【问题描述】:

我正在创建小型 JAVA 程序来访问 Azure blob 存储,如下所示。

但是我可以使用存储资源管理器访问相同的存储(具有相同的连接字符串)

但我无法在 Eclipse 中使用 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

【问题讨论】:

  • 您是在尝试将代码与存储模拟器或云存储帐户一起使用吗?
  • 我将它与我的云存储帐户订阅一起使用

标签: java azure blob


【解决方案1】:

根据我的经验,我认为这显然不是您的代码错误,但很可能是由您本地机器或网络环境上的某些配置引起的,例如防火墙阻止了来自 Java 的请求。请检查并确定这些可能的系统配置或软件是否阻止它。

【讨论】:

    猜你喜欢
    • 2014-05-13
    • 2013-10-05
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 2018-09-09
    相关资源
    最近更新 更多