当前位置: 首页 > 知识库问答 >
问题:

Spring Cloud AWS SQS访问被拒绝

严开宇
2023-03-14

我当前在尝试使用Spring Cloud和Spring Boot连接到AWS SQS队列时遇到了一个连接问题。我相信我的所有配置都很好,但正在得到:

@Configuration
@EnableSqs
public class CloudConfiguration {
    private static final Logger log = Logger.getLogger(CloudConfiguration.class);

    @MessageMapping("QUEUE")
    public void retrieveProvisionMessages(User user) {
        log.warn(user.firstName);
    }
}

YML

cloud:
    aws:
       credentials.accessKey: AccessKey
       credentials.secretKey: SecretKey
       region.static: us-west-2
       credentials.instanceProfile: true

当它尝试连接时,我看到一个标头值:

AWS4-HMAC-SHA256 Credential=accesskey/20150701/us-west-2/sqs/aws4_request, SignedHeaders=host;user-agent;x-amz-date, Signature=signature

请求发送后:

HTTP/1.1 403 Forbidden [Server: Server, Date: Wed, 01 Jul 2015 22:51:25 GMT, Content-Type: text/xml, Content-Length: 349, Connection: keep-alive, x-amzn-RequestId: Request Id] org.apache.http.conn.BasicManagedEntity@37e55df6
private AmazonSQS establishQueue(){
    AmazonSQS sqs = new AmazonSQSClient(new BasicAWSCredentials(accessKey, secretKey));
    sqs.setRegion(RegionUtils.getRegion(region));
    return sqs;
}


    AmazonSQS sqs = establishQueue();
    return sqs.receiveMessage(sqs.getQueueUrl(userProductPurchase).getQueueUrl());

使用相同的证书就可以了。非常感谢任何帮助。

谢谢

共有1个答案

张建树
2023-03-14

您是否允许IAM用户调用GetQueueAttributes

我想它也使用了更少的操作。不仅是ReceiveMessageGetQueueURL

 类似资料:
  • 问题内容: 这是我的编辑从第27行到第39行的代码: 我认为我的问题可能与Win7教授有关:(访问被拒绝) 如何解决这个问题,或者我需要做些什么或阅读才能使它起作用? 谢谢你不燃烧。 我只是更改了文件夹选项,使我获得完整的(Access …),现在我只需要弄清楚为什么在运行javac VendingMachine.java时为什么没有得到任何输出,我想是有一个新问题。 问题答案: 您的工作目录为。

  • 问题内容: 我正在尝试读取文件夹中的文件,但是当我运行该程序时,它将引发此异常。我也尝试了其他一些文件夹。它引发相同的异常。 问题答案: 您无法打开和读取目​​录,无法使用和方法区分文件和文件夹。您可以使用和方法获取文件夹的内容(分别用于文件名和s),还可以指定一个过滤器来选择列出的文件的子集。

  • 我正在使用wamp服务器,我的phpMyAdmin页面返回了以下错误。 Wamp服务器版本:2.2 MySQL版本:5.5.24 #1045-用户“root”@“本地主机”的访问被拒绝(使用密码:是) 我编辑了我的配置文件wamp\app\phpmyadmin4.1.14\config.inc.php: 但这并没有解决问题。任何帮助都将不胜感激。

  • 我正在使用JCIFS写入windows共享。这一直很有效。它突然停止工作,现在得到一个jcifs.smb.smbauthException:访问被拒绝。例外。我知道我的凭据很好,因为我可以使用smb手动连接并写入文件夹,所以这不是问题。我使用的代码是: 它在“SmbFileOutputStream outputStream=new SmbFileOutputStream(file)”行上爆炸。几个

  • 我的教授让我们从IntelliJ的社区版本升级到最终版本,并且开始使用JDK9.0和1.8并开始使用SceneBuilder。但是,当我试图构建代码时,我总是得到(访问被拒绝)错误。当我试图打开 “C:\users\username.intellijideA2017.2\system\compile-server\PT_2_868F9741\mappings” 我已经尝试卸载IntelliJ并运行

  • 问题内容: 我在FoxPro 6.0命令窗口中使用SQL命令,并遇到“文件访问被拒绝”。 我的SQL命令是: 情况: Windows 7专业版 FoxPro 6.0 main.dbf被共享给许多用户。 main.dbf不是 隐藏的 ,也不是 只写 任何意见将不胜感激! 问题答案: 此DBF文件位于共享驱动器上吗?如果是这样,则另一个用户可能使文件打开了“排他”,或者您正试图打开文件“排他”。默认状

  • 问题内容: 嘿,尝试启动正在编写的RMI应用程序时出现提示,我无法弄清楚为什么在默认端口1099或其他动态端口(当前是我的策略文件)上打开此异常时会出现此异常的原因授予所有权限(应用完成后会更改)。 我被困在哪里出了问题,任何帮助都会很有用 我的密码 } 堆栈跟踪 有效端口 65000 我的政策文件 问题答案: 基本上,我很愚蠢,我认为因为Java并不抱怨它找不到.policy文件AOK,所以事实