gpt4 book ai didi

java - 无法从 IntelliJ 连接到 AWS rekognition API

转载 作者:行者123 更新时间:2023-11-30 06:59:25 25 4
gpt4 key购买 nike

我一直在使用 Amazon 的新 rekognition API,但在运行其 example 时遇到问题来自 IntelliJ 的 Java 应用程序。我使用 Maven 构建项目,并将 AWS SDK 包含在我的 pom.xml 中,如下所示:

<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>${aws-java-sdk.version}</version>
</dependency>

据我所知,我的应用程序似乎在此处失败:

AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(credentials)
.withEndpoint("s3-us-west-2.amazonaws.com");
rekognitionClient.setSignerRegionOverride("us-west-2");
try {
DetectFacesResult result = rekognitionClient.detectFaces(request);
ObjectMapper objectMapper = new ObjectMapper();
System.out.println("Result = " + objectMapper.writeValueAsString(result));
} catch (AmazonRekognitionException e) {
e.printStackTrace();
}

...我收到的错误是:

com.amazonaws.services.rekognition.model.AmazonRekognitionException: null (Service: AmazonRekognition; Status Code: 400; Error Code: null; Request ID: null)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1545)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1183)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:964)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:676)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:650)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:633)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$300(AmazonHttpClient.java:601)
at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:583)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:447)
at com.amazonaws.services.rekognition.AmazonRekognitionClient.doInvoke(AmazonRekognitionClient.java:1130)
at com.amazonaws.services.rekognition.AmazonRekognitionClient.invoke(AmazonRekognitionClient.java:1106)
at com.amazonaws.services.rekognition.AmazonRekognitionClient.detectFaces(AmazonRekognitionClient.java:599)
at com.github.jhenningsgaard.DetectFaces.main(DetectFaces.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

我还应该注意到,我在 AWS CLI 中运行了该操作(见下文)并且成功了。

aws rekognition detect-faces \
--image '{"S3Object":{"Bucket":"Bucketname","Name":"s3ObjectKey"}}' \
--attributes "ALL" \
--region us-east-1 \
--profile adminuser

最佳答案

您可以使用以下代码创建 rekognition 客户端的实例:

AWSCredentials credentials;
try {
credentials = new ProfileCredentialsProvider("default").getCredentials();
} catch (Exception e) {
throw new AmazonClientException("Cannot load the credentials from the credential profiles file. "
+ "Please make sure that your credentials file is at the correct "
+ "location (/Users/<userid>/.aws/credentials), and is in a valid format.", e);
}
AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(credentials)
.withEndpoint("rekognition.eu-west-1.amazonaws.com");
rekognitionClient.setSignerRegionOverride("eu-west-1");

关于java - 无法从 IntelliJ 连接到 AWS rekognition API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41186458/

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