【发布时间】:2018-08-17 20:01:00
【问题描述】:
我无法通过 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
}
这个 sn-p 抛出 AmazonServiceException 并带有消息:我们计算的请求签名与您提供的签名不匹配。检查您的 AWS 秘密访问密钥和签名方法。有关详细信息,请参阅服务文档
在 SDK 文档中,没有提到如何签署请求。 此外,对于身份验证,我导出了包含 AWS 访问密钥和秘密值的环境变量 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。
我从AWS documentation 中挑选了这个示例代码
谁能帮我解决这个问题?
【问题讨论】:
-
尝试同时指定区域 AWS_DEFAULT_REGION
-
@gusto2,我刚刚尝试指定区域,但没有帮助。
-
您使用哪个版本的 SDK?您确定传递给 SQS 客户端的凭据是您期望的(即它们没有在某处被覆盖)吗?您的 SQS 队列在哪个区域? (默认区域为
us-west-2)
标签: amazon-web-services amazon-sqs