Asking for help. I have compiled the newest jclouds within supporting the china region for aws-s3. And I code an example program to accessing the aws-s3. But there is an error when I call the method named blobStore.createContainerInLocation(location, "awss3buket2") that the location's id is "cn-north-1". The error information is "Cannot retry after server error, command has exceeded retry limit 5: [method=org.jclouds.aws.s3.AWSS3Client.public abstract boolean org.jclouds.s3.S3Client.putBucketInRegion(java.lang.String,java.lang.String,org.jclouds.s3.options.PutBucketOptions[])[cn-north-1, awss3buket2, [Lorg.jclouds.s3.options.PutBucketOptions;@690d681a], request=PUT https://awss3buket2.s3.amazonaws.com/ HTTP/1.1]". *********************************** code detail ************************* static final String AWSS3_ENDPOINT = "https://s3.cn-north-1.amazonaws.com.cn"; static final String LOCATION_CN = "cn-north-1"; BlobStoreContext context= ContextBuilder.newBuilder("aws-s3") .credentials(AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY) .endpoint(AWSS3_ENDPOINT) .buildView(AWSS3BlobStoreContext.class); BlobStore blobStore = context.getBlobStore(); Location locationCN = Iterables.getLast(blobStore.listAssignableLocations(), null); for(Location location : blobStore.listAssignableLocations()){ System.out.println(location.getDescription()+":"+location.getId()+":"+location.getScope()); if(LOCATION_CN.equalsIgnoreCase(location.getId())){ locationCN = location; break; } } System.out.println("-->"+locationCN.getDescription()); System.out.println(blobStore.containerExists( "awss3buket2")); blobStore.createContainerInLocation(locationCN, "awss3buket2"); context.close();
********************************* output ****************************** Hello World! us-standard:us-standard:REGION us-east-2:us-east-2:REGION us-west-1:us-west-1:REGION us-west-2:us-west-2:REGION ca-central-1:ca-central-1:REGION eu-west-1:eu-west-1:REGION eu-west-2:eu-west-2:REGION eu-central-1:eu-central-1:REGION sa-east-1:sa-east-1:REGION ap-southeast-1:ap-southeast-1:REGION ap-southeast-2:ap-southeast-2:REGION ap-south-1:ap-south-1:REGION ap-northeast-1:ap-northeast-1:REGION ap-northeast-2:ap-northeast-2:REGION cn-north-1:cn-north-1:REGION -->cn-north-1 false 4月 14, 2017 11:59:04 上午 org.jclouds.logging.jdk.JDKLogger logError 严重: Cannot retry after server error, command has exceeded retry limit 5: [method=org.jclouds.aws.s3.AWSS3Client.public abstract boolean org.jclouds.s3.S3Client.putBucketInRegion(java.lang.String,java.lang.String,org.jclouds.s3.options.PutBucketOptions[])[cn-north-1, awss3buket2, [Lorg.jclouds.s3.options.PutBucketOptions;@690d681a], request=PUT https://awss3buket2.s3.amazonaws.com/ HTTP/1.1] Exception in thread "main" org.jclouds.http.HttpResponseException: Connection timed out: connect connecting to PUT https://awss3buket2.s3.amazonaws.com/ HTTP/1.1 at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:122) at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44) at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156) at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123) at com.sun.proxy.$Proxy42.putBucketInRegion(Unknown Source) at org.jclouds.s3.blobstore.S3BlobStore.createContainerInLocation(S3BlobStore.java:454) at org.jclouds.aws.s3.blobstore.AWSS3BlobStore.createContainerInLocation(AWSS3BlobStore.java:105) at org.jclouds.s3.blobstore.S3BlobStore.createContainerInLocation(S3BlobStore.java:146) at inspur.jclouds.example.App.main(App.java:52) Caused by: java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:97) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:370) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:231) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:213) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:404) at java.net.Socket.connect(Socket.java:643) at com.ibm.jsse2.aq.connect(aq.java:506) at sun.net.NetworkClient.doConnect(NetworkClient.java:188) at sun.net.www.http.HttpClient.openServer(HttpClient.java:462) at sun.net.www.http.HttpClient.openServer(HttpClient.java:557) at com.ibm.net.ssl.www2.protocol.https.c.<init>(c.java:93) at com.ibm.net.ssl.www2.protocol.https.c.a(c.java:185) at com.ibm.net.ssl.www2.protocol.https.d.getNewHttpClient(d.java:35) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:989) at com.ibm.net.ssl.www2.protocol.https.d.connect(d.java:3) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1104) at com.ibm.net.ssl.www2.protocol.https.b.getOutputStream(b.java:39) at org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.writePayloadToConnection(JavaUrlHttpCommandExecutorService.java:295) at org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.convert(JavaUrlHttpCommandExecutorService.java:171) at org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.convert(JavaUrlHttpCommandExecutorService.java:65) at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:99) ... 10 more -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds/pull/1081#issuecomment-294081263
