无法通过AWS Java SDK在SQS上发送消息

时间:2018-03-09 09:27:43

标签: amazon-web-services amazon-sqs

我无法通过AWS Java SDK在SQS队列上发送消息。这是我正在使用的代码:

    final AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient();
    try {
        String queueUrl = "My sqs queue url"
        sqs.sendMessage(new SendMessageRequest(queueUrl, "This is my message text."));
    } catch (final AmazonServiceException ase) {
        //log error message here                
    } catch (final AmazonClientException ace) {
        //log error message here
    }

此代码段会向AmazonServiceException发送消息:我们计算的请求签名与您提供的签名不匹配。检查您的AWS Secret Access Key和签名方法。有关详细信息,请参阅服务文档

在SDK文档中,没有提及如何签署请求。 此外,对于身份验证,我已导出包含AWS访问密钥和机密值的环境变量AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。

我从AWS documentation

中选择了此示例代码

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我的凭据有问题。当我尝试创建一个新帐户并使用新密钥和密钥时,事情开始起作用了。 我将要求我的组织的AWS账户经理重新生成密钥 - 秘密对。 谢谢@ gusto2和@AlexandreDupriez。