我尝试将 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.
最佳答案
我做了几件事就解决了这个问题:
- 我已将区域
US_WEST_2
添加到AmazonRekognition
实例 - S3 存储桶已移至
US_WEST_2
区域
关于java - AWS Rekognition 抛出异常无法从 S3 获取图像元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53102455/