问题描述
我正在使用AWS SDK 2.14.26版。
我希望能够将其指向我的AWS SQS模拟器,这使我能够执行一些奇特的事情,例如返回错误,延迟响应等。我确实有ElasticMQ,但我也想做一些花哨的事情,为此,我有一个可模拟许多事物的webapp,其中之一就是SQS。
我的Web应用程序托管在http:// localhost:8088 / simulators / v1 / aws / sqs。我希望我可以期望sdk从该路径https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-making-api-requests.html
开始发出任何API请求例如,
https://sqs.eu-west-2.amazonaws.com/
?Action=CreateQueue
&DefaultVisibilityTimeout=40
&QueueName=MyQueue
&Version=2012-11-05
&AUTHParaMS
将成为
http://localhost:8088/simulators/v1/aws/sqs
?Action=CreateQueue
&DefaultVisibilityTimeout=40
&QueueName=MyQueue
&Version=2012-11-05
&AUTHParaMS
但是当我创建客户端并尝试获取队列时:
SqsClient client = SqsClient.builder()
.region(Region.of("SIMULATOR"))
.credentialsProvider((()->AwsBasicCredentials.create("ignored","bySim")))
.endpointOverride(new URI("http://localhost:8088/simulators/v1/aws/sqs"))
.build();
client.getQueueUrl(GetQueueUrlRequest.builder()
.queueName("test123")
.build());
我明白了
software.amazon.awssdk.services.sqs.model.SqsException: null (Service: Sqs,Status Code: 404,Request ID: null,Extended Request ID: null)
看着Wireshk,它似乎只是指向/而不是我想要的端点,这导致它得到404
1287 2020-10-12 16:07:10.982955272 127.0.0.1 127.0.0.1 HTTP 801 POST / HTTP/1.1 (application/x-www-form-urlencoded)
[Full request URI: http://localhost:8088/]
是否有一种方法可以使aws sdk从/ simulators / v1 / aws / sqs的路径开始?因为我希望我的模拟器应用程序能够模拟可能的API,而不必使用根路径。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)