Amazon web services 我可以在Spring Boot/Cloud@SqsListener上设置AWS凭据吗?(爪哇)

Amazon web services 我可以在Spring Boot/Cloud@SqsListener上设置AWS凭据吗?(爪哇),amazon-web-services,spring-boot,amazon-sqs,Amazon Web Services,Spring Boot,Amazon Sqs,这里有两个新手,SQS和Spring Cloud。我(使用控制台)创建了一个SQS队列。我工作的公司wiki说,然后生成临时凭证,结果如下所示: aws_access_key_id = <secret> aws_secret_access_key = <secret> region = us-west-2 aws_session_token = <secret and VERY LONG, like 240 characters> @SqsListener(

这里有两个新手,SQS和Spring Cloud。我(使用控制台)创建了一个SQS队列。我工作的公司wiki说,然后生成临时凭证,结果如下所示:

aws_access_key_id = <secret>
aws_secret_access_key = <secret>
region = us-west-2
aws_session_token = <secret and VERY LONG, like 240 characters>
@SqsListener(value=SQSURL)
public void process(String json) throws IOException {
    System.out.println("here");
    System.out.println(json);
}
但是,当我尝试启动应用程序时,会出现以下错误:

com.amazonaws.services.sqs.model.amazonsqexception:请求中包含的安全令牌无效。(服务:AmazonSQS;状态代码:403;错误代码:InvalidClientTokenId;请求ID:…)

我认为在启动时,侦听器试图联系我的队列,但被拒绝,因为它没有发送aws_会话_令牌。(该公司的维基上再次写道:“您将看到aws_会话_令牌。这是您以前从未拥有过的。它是您的密钥工作所必需的!”)

那么,有没有一种方法可以显式地设置我的AWS参数,或者在定义了@SqsListener的Java代码中,或者在configs中的某个地方,以便传递AWS_会话_令牌?似乎不可能传递AwsCredentials对象。(编辑)这似乎对我没有任何帮助,因为AwsCredentials不包含该字段


或者。是否有其他方法解决此问题?

回答或至少部分回答我自己的问题:事实证明,只有在使用临时aws凭证时,才需要aws_会话_令牌,正如我所指出的,这是我被赋予使用的。它必须添加到任何CLI操作中,但无法在Java代码中将其设置为AwsCredentials对象。所以这对我没有帮助。使用临时凭证时,可能无法从Java代码进行连接。如果我错了,有办法的话,请告诉我。

你在哪里可以解决这个问题?
@SqsListener(value=SQSURL)
public void process(String json) throws IOException {
    System.out.println("here");
    System.out.println(json);
}