AWS Rekognition 抛出异常无法从 S3 获取图像元数据

我尝试将 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.



森林海
浏览 258回答 2
2回答

海绵宝宝撒

我能够通过做几件事来解决这个问题:我已将区域添加US_WEST_2到AmazonRekognition实例S3 存储桶已移至US_WEST_2区域

富国沪深

AmazonRekognition 和您的 S3 存储桶应位于同一区域。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java