AWS Java SDK SQSlistener端点问题
我在项目中使用AWS Java SDK以及spring cloud AWS来利用SES和SQS。我遇到了一个小问题。当我尝试运行我的应用程序时,我收到错误: 创建名为“simpleMessageListenerContainer”的bean时出错 类内路径资源 [org/springframework/cloud/aws/messaging/config/annotation/SqsConfiguration.class]: 调用init方法失败;嵌套异常是 com.amazonaws.services.sqs.model.amazonsqexception:凭证应 作用域应为有效区域,而不是“队列” 作为前言,在我的AWS Java SDK SQSlistener端点问题,java,spring,amazon-web-services,amazon-sqs,Java,Spring,Amazon Web Services,Amazon Sqs,我在项目中使用AWS Java SDK以及spring cloud AWS来利用SES和SQS。我遇到了一个小问题。当我尝试运行我的应用程序时,我收到错误: 创建名为“simpleMessageListenerContainer”的bean时出错 类内路径资源 [org/springframework/cloud/aws/messaging/config/annotation/SqsConfiguration.class]: 调用init方法失败;嵌套异常是 com.amazonaws.serv
app.properties
文件中,我有一个属性queue.endpoint=https://queue.amazonaws.com/1234567890/queue-name.fifo
并从aws cli检索端点
我阅读了AWS文档,发现这个端点是一个遗留端点。SpringCloudAWS库中的@SqsListener
注释使用此属性
我通过查看是否使用了遗留端点并通过shell脚本将其转换为非遗留端点来避免这个问题,即https://sqs.us-east-1.amazonaws.com/123456780/queue-name.fifo
我想知道SpringCloudAWS库在使用遗留端点方面是否存在问题。我注意到端点为
https://us-east-2.queue.amazonaws.com/1234567890/queue2-name.fifo
但是,可能它没有正确解析us-east-1
遗留端点?我也不确定在我的应用程序中是否需要进行任何配置以利用遗留端点。如果我正确理解了这个问题,您的问题是关于SQS队列端点没有在端点的开头附加us-east-1
。它不是遗留端点。在AWS中,某些服务不允许您在端点中指定区域。正在路由到此终结点的内容:https://queue.amazonaws.com/1234567890/queue-name.fifo
,将自动路由到AWS中的us-east-1
地区
AWS中与端点相关的文档中明确提到了这一点。()
一些服务,如IAM,不支持区域;因此,
端点不包括区域。一些服务,比如亚马逊EC2,
用于指定不包含特定区域的端点,
例如在这种情况下,AWS路由
终点到us-east-1