Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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.
Hello,
The "<blob-name>.blob.core.windows.net" works perfectly fine on V 6.4?
Best regards
Sabrina
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.