China Azure BLOB Storage Connection Issue

Five Stars

China Azure BLOB Storage Connection Issue

I am facing issue connecting to China Azure cloud storage. 

The issue I feel is the endpoint. By default it takes "<blob-name>.blob.core.windows.net"

but for china the endpoint is "<blob-name>.blob.core.chinacloudapi.cn". 

 

There is no way to pass this in the available components for azure in Talend.

 

Error I am getting is:

Exception in component tAzureStorageContainerExist_1:
The server encountered an unknown failure:
SERVICE_INTERNAL_ERROR
null
false
Exception in component tAzureStoragePut_2
java.io.IOException
at com.microsoft.windowsazure.services.core.storage.utils.Utility.initIOException(Utility.java:563)
at com.microsoft.windowsazure.services.blob.client.BlobOutputStream$1.call(BlobOutputStream.java:377)
at com.microsoft.windowsazure.services.blob.client.BlobOutputStream$1.call(BlobOutputStream.java:361)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.microsoft.windowsazure.services.core.storage.StorageException: A Client side exception occurred, please check the inner exception for details
at com.microsoft.windowsazure.services.core.storage.StorageException.translateException(StorageException.java:81)
at com.microsoft.windowsazure.services.core.storage.utils.implementation.ExecutionEngine.executeWithRetry(ExecutionEngine.java:168)
at com.microsoft.windowsazure.services.blob.client.CloudBlockBlob.uploadBlockInternal(CloudBlockBlob.java:645)
at com.microsoft.windowsazure.services.blob.client.CloudBlockBlob.uploadBlock(CloudBlockBlob.java:582)
at com.microsoft.windowsazure.services.blob.client.BlobOutputStream$1.call(BlobOutputStream.java:365)

 

Caused by: java.net.UnknownHostException: <blob-name>.blob.core.windows.net
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)
at sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source)
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.getOutputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source)
at com.microsoft.windowsazure.services.blob.client.CloudBlockBlob$3.execute(CloudBlockBlob.java:630)
at com.microsoft.windowsazure.services.blob.client.CloudBlockBlob$3.execute(CloudBlockBlob.java:613)
at com.microsoft.windowsazure.services.core.storage.utils.implementation.ExecutionEngine.executeWithRetry(ExecutionEngine.java:114)
... 10 more
[statistics] disconnected

Five Stars

Re: China Azure Storage Connection Error

I have downloaded Talend 6.4 where Azure Storage is available under Metadata but when I try and create new azure storage and select the Azure Shared Access Signature and provide BLOB SAS service url and do test connection it gives error message saying "Shared access signature is invalid". My SAS url looks life this "https://blobstorage.blob.core.chinacloudapi.cn/?sv=2017-04-17&ss=bfqt&srt=sco&sp=rwdlacup&se=2018-01...>".

 

When I change the url from "https://blobstorage.blob.core.chinacloudapi.cn" to "https://blobstorage.blob.core.windows.net" it accepts and gives different, which is again I feel because it is trying to validate that the url should have windows.net in it. Now again I cannot connect to china azure cloud.

 

Any help/guidance will be appreciated. This has become a bottle neck. If this does not work, I will have to use something else to do this task.

Tags (1)
Moderator

Re: China Azure Storage Connection Error

Hello,

The "<blob-name>.blob.core.windows.net" works perfectly fine on V 6.4?

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Five Stars

Re: China Azure Storage Connection Error

No I could not connect using that as well, its just that when I give core.windows,net it gives different error, otherwise it says invalid.