bandalore icon indicating copy to clipboard operation
bandalore copied to clipboard

Some geo-zones may support only the old API

Open kumarshantanu opened this issue 10 years ago • 4 comments

I noticed that as of date only bandalore 0.0.2 (or below) supports the Singapore zone. You might want to mention this in the README.

kumarshantanu avatar Dec 13 '13 08:12 kumarshantanu

Could you clarify / link to something that explains the API differences you refer to?

cemerick avatar Dec 13 '13 10:12 cemerick

I kept getting the exception with the message "The specified queue does not exist for this wsdl version." until I lowered bandalore version to 0.0.2 in the client when connecting to an SQS instance in Singapore:

Fri Dec 13 11:33:01 UTC 2013 [redacted-1] ERROR - GET /ingest/12/34
Status Code: 400, AWS Service: AmazonSQS, AWS Request ID: 9992e7e1-3b32-5e81-ad0d-acc5c99e0841, AWS Error Code: AWS.SimpleQueueService.NonExistentQueue, AWS Error Message: The specified queue does not exist for this wsdl version.
    at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:609)
    at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:309)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:164)
    at com.amazonaws.services.sqs.AmazonSQSClient.invoke(AmazonSQSClient.java:812)
    at com.amazonaws.services.sqs.AmazonSQSClient.sendMessage(AmazonSQSClient.java:540)
    at cemerick.bandalore$send.invoke(bandalore.clj:83)
    ...more...

kumarshantanu avatar Dec 13 '13 11:12 kumarshantanu

I think this is a difference in how the underlying AWS library determines which region to connect to. I suspect earlier versions took cues from the queue URL, but later was changed so that the region set on the SQS client itself always dominates the one indicated in the URL. Can you try explicitly setting the region in the SQS client (as created by create-client) to match the one indicated in your queue URL?

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/AmazonWebServiceClient.html#setRegion(com.amazonaws.regions.Region)

cemerick avatar Dec 13 '13 13:12 cemerick

Not sure if Bandalore's AWS-SDK version matches the LATEST now, but I am getting this exception when I try to set the Region:

Caused by: java.lang.ClassNotFoundException: com.amazonaws.regions.Region
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:61)

kumarshantanu avatar Dec 17 '13 20:12 kumarshantanu