AWS Rekognition引发异常无法从S3获取图像元数据

时间:2018-11-01 13:38:44

标签: java amazon-web-services amazon-rekognition

我尝试将AWS识别与Java SDK结合使用。 我有下面的代码,但会引发异常:

    private static final EnvironmentVariableCredentialsProvider CREDENTIALS_PROVIDER = new EnvironmentVariableCredentialsProvider();

    public List<TextDetection> recognize(String bucket, String name) {
        var amazonRekognition = createAmazonRekognition();
        var detectTextRequest = new DetectTextRequest()
                .withImage(getImage(bucket, name));
        var detectTextResult = amazonRekognition.detectText(detectTextRequest);
        return detectTextResult.getTextDetections();
    }

    private AmazonRekognition createAmazonRekognition() {
        return AmazonRekognitionClientBuilder.standard()
                .withCredentials(CREDENTIALS_PROVIDER)
                .build();
    }

    private Image getImage(String bucket, String name) {
        return new Image()
                .withS3Object(new S3Object()
                        .withName(name)
                        .withBucket(bucket));
    }

我已经创建了具有 AmazonS3FullAccess AmazonRekognitionFullAccess 权限的新IAM。

当我运行execute方法时,它会抛出:

Unable to get image metadata from S3. Check object key, region and/or access permissions.

2 个答案:

答案 0 :(得分:1)

我可以做一些事情来解决这个问题:

  • 我已将区域US_WEST_2添加到AmazonRekognition实例
  • S3存储桶已移至US_WEST_2区域

答案 1 :(得分:1)

AmazonRekognition和您的S3存储桶应位于同一区域。

supported region