我正在使用 AWS 的 JAVA SDK 创建 Polly 客户端。
像这样:
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);
当我运行此代码时,我收到以下错误消息:
线程“主”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)
在
com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:38)
在 com.eoffice.aws.speech.Polly.main(Polly.java:42)
我使用 IAM 策略模拟器检查了凭证。这工作正常,权限正常。
在 ClientBuilder 中设置区域的方法对于 AmazonPollyClientBuilder 不可见,因此我没有(Java SDK)方法来指定区域。
Update:当我只询问 defaultAwsREgionProviderChain 时,我收到相同的错误消息
DefaultAwsRegionProviderChain defaultAwsRegionProviderChain = new DefaultAwsRegionProviderChain();
System.out.println(defaultAwsRegionProviderChain.getRegion());
Updat 2:当我在 de .aws 文件夹中创建包含以下内容的配置文件时:
[默认]
区域 = eu-west-1
它有效,但我需要一种不依赖文件系统的方法来设置它。
提供名称为“AWS_REGION”的系统环境变量就可以了。
请参阅 IBM Bluemix 中配置的屏幕截图
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)