AWS-创建一个AmazonSNSClient

时间:2018-07-08 06:49:07

标签: java amazon-web-services amazon-sns

我想创建一个AmazonSNSClient,我使用这段代码:

AmazonSNSClient snsClient = (AmazonSNSClient) AmazonSNSClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(new PropertiesCredentials(is))).build();

但我收到此错误:

  

线程“ main”中的异常java.lang.UnsupportedOperationException:使用构建器创建时客户端是不可变的。

     

com.amazonaws.AmazonWebServiceClient.checkMutability(AmazonWebServiceClient.java:937)
  在com.amazonaws.AmazonWebServiceClient.setRegion(AmazonWebServiceClient.java:422)

1 个答案:

答案 0 :(得分:1)

最好将传递的参数设置为is,否则可以尝试如下构建客户端,

如果您的is引用的是凭据文件,则可以通过此方法直接使用凭据,

BasicAWSCredentials basicAwsCredentials = new BasicAWSCredentials(AccessKey,SecretAccessKey);
AmazonSNS snsClient = AmazonSNSClient
                      .builder()
                      .withRegion(your_region)
                      .withCredentials(new AWSStaticCredentialsProvider(basicAwsCredentials))
                      .build();

否则,如果要通过IAM角色授予权限,则可以使用InstanceProfileCredentialProvider,如下所示,

AmazonSNS sns = AmazonSNSClientBuilder
                 .standard()
                 .withCredentials(new InstanceProfileCredentialsProvider(true))
                 .build();