【发布时间】:2019-05-29 15:13:56
【问题描述】:
我尝试比较 s3 中的两个图像。 所以我通过参考以下内容完成了代码: https://docs.aws.amazon.com/ko_kr/rekognition/latest/dg/faces-comparefaces.html
我使用角色创建了 IdentityPool(S3 完全访问权限,Rekognition 完全访问权限)。
try{
CompareFacesRequest compareFacesRequest = new CompareFacesRequest().
withSourceImage(new Image().withS3Object(new S3Object().withName(photo1).withBucket(bucket))).
withTargetImage(new Image().withS3Object(new S3Object().withName(photo2).withBucket(bucket))).withSimilarityThreshold(80F);
CompareFacesResult result = amazonRekognitionClient.compareFaces(compareFacesRequest);
List<CompareFacesMatch> list = result.getFaceMatches();
Log.d(TAG,"testing..");
if (!list.isEmpty()){
Log.d(TAG,"face match");
for (CompareFacesMatch match:list){
Log.d(TAG,match.getFace() + "" + match.getSimilarity());
}
}else{
Log.d(TAG,"face dismatch");
}
}catch (Exception e){
Log.d(TAG,"Exception occurs");
e.printStackTrace();
}
但它会犯这个错误。 com.amazonaws.services.rekognition.model.InvalidS3ObjectException:无法从 S3 获取对象元数据。检查对象密钥、区域和/或访问权限。 (服务:AmazonRekognition;状态代码:400;错误代码:InvalidS3ObjectException;请求 ID:2c4720e3-0e67-11e9-a286-7761b1c828e5)
我想如果我弄错了 IAM,应用程序就无法上传文件。 我尝试用相同的credentialsProvider上传文件,上传成功。
我认为这不是因为许可而发生的事情。
S3 区域位于首尔,Cognito IdentityPool 区域为 AP_NORTHEAST_2
是否有任何信息可以使用 Rekognition 获取 s3 对象?
【问题讨论】:
标签: amazon-s3 amazon-cognito amazon-rekognition