2017-06-05 18 views
0

とAWSSecurityTokenServiceClientBuilder使用する方法STSは、私がAWS - グローバル地域

AWSSecurityTokenServiceClient sts_client = new AWSSecurityTokenServiceClient(), 

を使用して、デフォルトの地域(グローバル)をauthomatically設定しました。しかし、このコンストラクタはdeprcatedあると勧告は使用することです:

AWSSecurityTokenServiceClientBuilder. 

私も、それはデフォルトのリージョンを使用したいです。私が書いた:

AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build(); 

が、私は例外だ:

com.amazonaws.SdkClientException: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region. 

at com.amazonaws.client.builder.AwsClientBuilder.setRegion(AwsClientBuilder.java:371) 
at com.amazonaws.client.builder.AwsClientBuilder.configureMutableProperties(AwsClientBuilder.java:337) 
at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46) 
at co.softimize.STSManager.<init>(STSManager.java:31) 
at co.softimize.sts.STSManagerTests.setup(STSManagerTests.java:40) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) 
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at org.junit.runner.JUnitCore.run(JUnitCore.java:137) 
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) 
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51) 
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) 
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) 

感謝を!

答えて

0

私は、グローバル領域から聞いたことがない、しかし、あなたが使用できる新しい非非推奨ビルダー方法、でデフォルトの地域を指定するには:

.withRegion(Regions.DEFAULT_REGION)

だからあなたのコマンドは次のようになります。

AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard() .withCredentials(new AWSStaticCredentialsProvider(awsCredentials)) .withRegion(Regions.DEFAULT_REGION.getName()) .build();

FYI - 地方列挙型の私のバージョンでは、DEFAULT_REGIONUS_WEST_2です。

import com.amazonaws.regions.Regions;

編集することを忘れないでください:あなたが指定したものを地域問題ではないことを知っておくと便利かもしれません。生成されたSTS資格情報は、すべての地域で使用できます(つまり、ある意味では「グローバル」です)。

関連する問題