AWS Rekognition выдает исключение Невозможно получить метаданные изображения из S3 - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь использовать распознавание 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));
    }

Я создал новый IAM с разрешениями AmazonS3FullAccess и AmazonRekognitionFullAccess .

Когда я запускаю метод execute, он выдает:

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

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

AmazonRekognition и ваша корзина S3 должны находиться в одном регионе.

поддерживаемый регион

0 голосов
/ 01 ноября 2018

Я смог решить проблему, выполнив несколько вещей:

  • Я добавил регион US_WEST_2 в AmazonRekognition экземпляр
  • Ведро S3 было перемещено в US_WEST_2 область
...