从我的本地aws-cli,我可以获取属性并获取给定队列的queueUrl。而我无法从adhoc spring应用程序中获得该功能。这只是一个试用代码。我们确实有配置以连接到AWS SQS。有人可以帮我吗? 流看起来像-应用程序A(本地应用程序)调用凭据服务以获取令牌详细信息,该令牌详细信息已设置了角色。然后,应用程序A使用该令牌详细信息连接到AWS并从SQS中读取。我能够连接到AWS,但是在尝试执行getUrl时会获得异常。 AWS-中的角色津贴 { “ Version”:“ 2012-10-17”, “声明”:[…

2020年11月16日 0条评论 19点热度 阅读全文

看起来Ruby有shoryuken,Java有什么用,对于Ruby,SO有这样的答案,Amazon SQS Priority Queue,我还没有找到使用JMS和Spring做到这一点的任何示例或方法,这本身就是很奇怪的。感觉好像所有消费都被推送到基础架构中,我可能有5个高优先级的消费者和1个低优先级的消费者,但是我不能让6个消费者交替使用他们的工作。 解决方案如下: 当我回答your other question时; JmsListener是消息驱动的方法,类似于JEE MDB;您可以使用JmsTemplate来…

2020年10月3日 0条评论 26点热度 阅读全文

我正在尝试通过Java代码向SQS发送消息,如下所示: public void pushToSQS(){ String queueURL = "https://sqs.us-east-1.amazonaws.com/205135634997/myQueue.fifo"; try { final AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); sqs.sendMessage(new SendMessageRequest(queueURL, "test m…

2020年9月29日 0条评论 26点热度 阅读全文

我正在使用 AmazonSQSAsyncClient 与Amazon SQS连接,但是有时我在日志中看到以下执行: INFO [AmazonHttpClient:444] Unable to execute HTTP request: Connection reset java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:168) at com.sun.net.ssl.…

2020年9月17日 0条评论 23点热度 阅读全文

我面对这样的aws sqs行为。 我有lambda由api网关触发。在某些情况下,在此lambda中,我需要重新处理传入的请求。因此,在这种情况下,我会以30秒的延迟将传入请求作为消息发送到sqs。在sqs中将“默认可见性超时”设置为1分钟,并链接dlq队列。 在lambda中,我有下一个逻辑: 当我通过api网关收到请求时,我的lambda决定对其进行重新处理,然后它第一次将消息发送到sqs进行重新处理。我的lambda会在30秒钟内收到消息。好。但是当在此重新处理期间,我需要再次对其进行处理时,我的lambda…

2020年8月3日 0条评论 19点热度 阅读全文

注意:这是here的线程的重新发布。 大家好,我有一个处理单个SQS队列中的消息的过程。队列中可以包含许多消息,每条消息都会导致数据库命中。因此,我想线程化此队列的读者。 每个线程的基本代码是: public void run() { while(true) { ReceiveMessageRequest rmr = new ReceiveMessageRequest(queueUrl) .withMaxNumberOfMessages(10) .withWaitTimeSeconds(3); List<Me…

2020年7月21日 0条评论 27点热度 阅读全文

我是SQS的新手,很抱歉,如果我掩盖了明显的内容,但是有没有办法获取SQS中消息的当前可见性超时?我可以看到如何更新超时可见性here。但是我没有看到有关获取消息的当前可见性超时的任何信息(也许您可以通过某种方式接收到消息来查看它)。 我的用例是根据给定消息的当前可见性超时来更改可见性超时。这可能吗? (注意:我知道我可以使用大约的接收时间来达到类似的效果,如果无法获得当前的可见性时间,则可以使用该路线) 解决方案如下: 看来这是不可能的。 尽管OptimReceiveCount至少足以满足我的用例。

2020年5月15日 0条评论 12点热度 阅读全文

我正在开发一个应用程序,其中的客户端(用多种语言编写-Go,C++,Python,C#,Java,Perl以及将来可能会用更多的语言编写)将protobuf(在某些情况下为JSON)消息提交给SQS。另一方面,Python和Go客户端会根据消息类型读取和解码消息。 Boto似乎自动将消息编码为base64,但其他语言库似乎没有这样做。也许还有其他规则? Boto确实可以选择提交原始消息。 这里的预期行为是什么?我是否应该自行将消息编码到base64中-这会使boto处于奇怪的情况-还是我丢失了什么? 由于在base…

2020年1月14日 0条评论 15点热度 阅读全文

我正在使用Amazon SQS。我的目标是使用Java SDK(v2.10.4,Java 11)从ApproximateReceiveCount API action读取ReceiveMessage属性。 我尝试了以下代码,但是message.attributes()不包含必需的密钥: String getApproximateReceiveCount() { var receiveMessageRequest = ReceiveMessageRequest.builder() .queueUrl("https:/…

2020年1月8日 0条评论 14点热度 阅读全文

我使用的是适用于Java的AWS开发工具包,也使用了缓冲异步sqs客户端来批量处理请求,从而降低了成本。 当我的应用程序关闭时,我想确保缓冲区中没有等待消息,但是在客户端上看不到.flush()方法。 AmazonSQSBufferedAsyncClient.shutdown()调用时是否刷新我的消息?我看着source code,目前尚不清楚。该方法在它具有的每个shutdown()上调用QueueBuffer,但是在QueueBuffer.shutdown()内表示 public void shutdown()…

2019年12月12日 0条评论 19点热度 阅读全文