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

标签 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));
    }

我创建了一个新的 IAM,它具有 AmazonS3FullAccessAmazonRekognitionFullAccess 权限。

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

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

最佳答案

我做了几件事就解决了这个问题:

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

关于java - AWS Rekognition 抛出异常无法从 S3 获取图像元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53102455/

相关文章:

amazon-ec2 - 文件是否保存在 EBS 卷上?他们不应该被拯救吗?我很困惑

amazon-web-services - 如何 grep 到 S3 中存储的文件

amazon-web-services - 使用 Amazon Rekognition 从 ImageID 和集合下载图像

python - Boto3 和 Python3 : Can't convert 'bytes' object to str implicitly

java - 当用户直接将值输入到对象中时,如何进行输入验证?-JAVA

java - 这是更好的编码方式

amazon-web-services - AWS Cognito : how to allow users to change email without verification?

java - WADL/生成的 XSD 的问题,使用 Jersey 和契约优先的方法

java - 编写 JVM 字节码程序来计算并打印斐波那契数列中的前 20 个数字