java - AWS Polly Java 客户端出现错误 : Unable to load region information from any provider in the chain

标签 java amazon-web-services amazon-iam amazon-polly

我正在使用 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);

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

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 策略模拟器检查了凭据。这工作正常,权限没问题。

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

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

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

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

[default] region = eu-west-1

它可以工作,但我需要一种不依赖文件系统的方法来设置它。

最佳答案

提供一个名为“AWS_REGION”的系统环境变量就可以了。 查看 IBM Bluemix 中配置的屏幕截图

enter image description here

关于java - AWS Polly Java 客户端出现错误 : Unable to load region information from any provider in the chain,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41612773/

相关文章:

java - 找不到 `activityViewModels()` Hilt Android

java - spring如何为Environment找到bean?

amazon-web-services - AWS API Gateway 仅在使用 SAM 时才支持 CORS for OPTIONS(没有 Lambda 代理集成)

unix - Amazon IAM 可以用作主机的身份验证方法吗?

android - AWS : NotAuthorizedException: Invalid login token. token 受众不正确。 (服务:AmazonCognitoIdentity

java - Struts 2 中的全局异常处理程序

java - 如何找到android屏幕的ppi

javascript - AWS Cognito AdminGetUser 返回 undefined object

java - 下载文件流而不是文件

amazon-web-services - 错误 : NotAuthorizedError - Operation Denied on AWS eb init