2017-01-12 20 views
6

AWSのJAVA SDKを使用してPollyクライアントを作成しています。このよう :私はこのコードを実行するとAWS Polly Java Clientでエラーが発生しました:チェーン内のプロバイダから地域情報を読み込むことができません

BasicAWSCredentials awsCreds = new BasicAWSCredentials("<IAM access Key>", "IAM secret key>"); 

    AmazonPollyClient apClient = (AmazonPollyClient) AmazonPollyClientBuilder.standard() 
      .withCredentials(new AWSStaticCredentialsProvider(awsCreds)) 
      .build(); 


    SynthesizeSpeechRequest tssRequest = new SynthesizeSpeechRequest(); 
    tssRequest.setText(<text>); 
    tssRequest.setVoiceId(<voiceid>); 
    tssRequest.setOutputFormat(OutputFormat.Mp3); 
    SynthesizeSpeechResult tssResult = apClient.synthesizeSpeech(tssRequest); 

は、私は、次のエラーメッセージが表示されます。

Exception in thread "main" com.amazonaws.SdkClientException: Unable to load region information from any provider in the chain at com.amazonaws.regions.AwsRegionProviderChain.getRegion(AwsRegionProviderChain.java:56) at com.amazonaws.client.builder.AwsClientBuilder.setRegion(AwsClientBuilder.java:319) at com.amazonaws.client.builder.AwsClientBuilder.configureMutableProperties(AwsClientBuilder.java:295) at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:38) at com.eoffice.aws.speech.Polly.main(Polly.java:42)

私はIAMポリシーシミュレータを使用して資格情報をチェックします。これは正常に動作し、権限はOKです。

RegionをClientBuilderに設定する方法は、AmazonPollyClientBuilderでは表示されません。したがって、リージョンを指定する方法はありません(Java SDK)。

更新: 私はちょうどdefaultAwsREgionProviderChainを尋ねるとき、私は同じエラーメッセージを取得

DefaultAwsRegionProviderChain defaultAwsRegionProviderChain = new DefaultAwsRegionProviderChain(); 
System.out.println(defaultAwsRegionProviderChain.getRegion()); 

UPDAT 2: 私は、次の内容のデ.awsフォルダに設定ファイルを作成するとき:

[default] region = eu-west-1

これは機能しますが、ファイルシステムに依存せずにこれを設定する方法が必要です。

答えて

5

「AWS_REGION」という名前のシステム環境変数を指定すると、このトリックが実行されました。

enter image description here

3

は、私はあなたがこの

AmazonPollyClient apClient = (AmazonPollyClient) AmazonPollyClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCreds)).withRegion("<aws-region>").build(); 
状の領域を設定することができると思いIBM Bluemix構成のためのスクリーンショットを参照してください。
関連する問題