当前位置:  开发笔记 > 编程语言 > 正文

AWS Polly Java客户端提供错误:无法从链中的任何提供程序加载区域信息

如何解决《AWSPollyJava客户端提供错误:无法从链中的任何提供程序加载区域信息》经验,为你挑选了2个好方法。

我正在使用AWS的JAVA SDK来创建Polly客户端.像这样:

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

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


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

当我运行此代码时,我收到以下错误消息:

线程"main"中的异常com.amazonaws.SdkClientException:无法从com.amazonaws.regions.AwsRegionProviderChain.getRegion(AwsRegionProviderChain.java:56)链中的任何提供者加载com.amazonaws.client.builder.AwsClientBuilder的区域信息.setRegion(AwsClientBuilder.java:319)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策略模拟器检查了凭据.这工作正常,权限还可以.

在ClientBuilder中设置Region的方法对于AmazonPollyClientBuilder是不可见的,因此我没有(Java SDK)方式来指定区域.

更新: 当我问defaultAwsREgionProviderChain时,我收到相同的错误消息

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

更新2: 当我在de .aws文件夹中创建一个包含以下内容的配置文件时:

[默认] region = eu-west-1

它有效,但我需要一种方法来设置它而不依赖于文件系统.



1> mpjjonker..:

提供名为"AWS_REGION"的系统环境变量就可以了.请参阅IBM Bluemix中的配置屏幕截图

在此输入图像描述



2> 小智..:

我想你可以像这样设置Region

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

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有