1
私はAmazonの新しい認識APIを使用していますが、example JavaアプリケーションをIntelliJから実行する際に問題があります。私は、プロジェクトをビルドするMavenを使用していますし、次のように私のpom.xml
にAWS SDKが含まれている:IntelliJからAWS認識APIに接続できません
<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
は、あなたの 'request'を示してもらえますか? –
私のリクエスト: '{Image:{S3Object:{Bucket:rekognitionexample、Name:obama.jpg、}}、属性:[ALL]}' –
S3エンドポイントを使用して認識サービスに接続しようとしているのはなぜですか?認識エンドポイントを使用する必要があります。http://docs.aws.amazon.com/general/latest/gr/rande.html#rekognition_regionを参照してください。 – mickzer