AWS Rekognition 抛出异常无法从 S3 获取图像元数据
AWS Rekognition throws exception Unable to get image metadata from 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
当我 运行 它抛出的执行方法时:
Unable to get image metadata from S3. Check object key, region and/or access permissions.
我做了几件事就解决了这个问题:
- 我已将区域
US_WEST_2
添加到 AmazonRekognition
实例
- S3 存储桶已移至
US_WEST_2
区域
AmazonRekognition 和您的 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当我 运行 它抛出的执行方法时:
Unable to get image metadata from S3. Check object key, region and/or access permissions.
我做了几件事就解决了这个问题:
- 我已将区域
US_WEST_2
添加到AmazonRekognition
实例 - S3 存储桶已移至
US_WEST_2
区域
AmazonRekognition 和您的 S3 存储桶应该位于同一区域。