gpt4 book ai didi

java - 无法加载 AWS Ivona 属性文件 Java

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:18 25 4
gpt4 key购买 nike

我正在使用 IVONA SpeachCloud SDK(创建语音示例):https://github.com/IvonaSoftware/ivona-speechcloud-sdk-java/blob/master/src/samples/IvonaSpeechCloudCreateSpeech/SampleIvonaSpeechCloudCreateSpeech.java

使用此代码设置类路径

private static IvonaSpeechCloudClient speechCloud;

private static void init() {
speechCloud = new IvonaSpeechCloudClient(
new ClasspathPropertiesFileCredentialsProvider("IvonaCredentials.properties"));
speechCloud.setEndpoint("https://tts.eu-west-1.ivonacloud.com");
}

以下是 ivona.properties 文件的格式。文件位于基本目录中。我的 SpeechCloud 帐户中拥有所需的凭据

accessKey = mykey 
secretKey = mysecretKey

下面是我遇到的异常

Exception in thread "main" com.amazonaws.AmazonClientException: Unable to load AWS credentials from the /resources/ivona.properties file on the classpath
at com.amazonaws.auth.ClasspathPropertiesFileCredentialsProvider.getCredentials(ClasspathPropertiesFileCredentialsProvider.java:81)
at com.ivona.services.tts.IvonaSpeechCloudClient.prepareRequest(IvonaSpeechCloudClient.java:279)
at com.ivona.services.tts.IvonaSpeechCloudClient.prepareRequest(IvonaSpeechCloudClient.java:272)
at com.ivona.services.tts.IvonaSpeechCloudClient.invoke(IvonaSpeechCloudClient.java:259)
at com.ivona.services.tts.IvonaSpeechCloudClient.createSpeech(IvonaSpeechCloudClient.java:148)
at SampleIvonaSpeechCloudCreateSpeech.main(SampleIvonaSpeechCloudCreateSpeech.java:45

我怎样才能解决这个异常,或者我怎样才能创建一个类来解决这个问题并手动输入我的accessKey和secretKey作为字符串。谢谢。

最佳答案

好吧,在对源文件进行了几个小时的研究之后,我发现了这一点。您可以创建自己的提供程序类,在其中可以将凭据作为字符串参数传递。

这是我的自定义凭证类“IvonaCredentials”

import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;

public class IvonaCredentials implements AWSCredentialsProvider{

public IvonaCredentials(String mSecretKey, String mAccessKey) {
super();
this.mSecretKey = mSecretKey;
this.mAccessKey = mAccessKey;
}

private String mSecretKey;
private String mAccessKey;

@Override
public AWSCredentials getCredentials() {
AWSCredentials awsCredentials = new AWSCredentials() {

@Override
public String getAWSSecretKey() {
// TODO Auto-generated method stub
return mSecretKey;
}

@Override
public String getAWSAccessKeyId() {
// TODO Auto-generated method stub
return mAccessKey;
};
};
return awsCredentials;
}

@Override
public void refresh() {
// TODO Auto-generated method stub

}



}

这就是我如何称呼我的类(class)

private static void init() {
speechCloud = new IvonaSpeechCloudClient(new IvonaCredentials("secretKey", "accessKey"));
speechCloud.setEndpoint("https://tts.eu-west-1.ivonacloud.com");
}

关于java - 无法加载 AWS Ivona 属性文件 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35270354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com