首页 > 解决方案 > 似乎 AWS rekognition 检测标签正在超时

问题描述

我将其构建为一个 Maven 项目,我已经导入了 rekognition 的依赖项:

<dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-rekognition</artifactId>
</dependency>

这是我对 lambda 函数的句柄请求:

@Override
    public AnalyzeTrickResponse handleRequest(Object input, Context context) {
        logger = context.getLogger();
        logger.log("Loading Java Lambda handler of AnalyzeTrick");
        logger.log(input.toString());
        
        AnalyzeTrickResponse response;
        
        String photo = "girrafe.jpg";
        String bucket = "trickapp";


        AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder.defaultClient();
        logger.log("connected to rekognition client");

        DetectLabelsRequest request = new DetectLabelsRequest()
            .withImage(new Image().withS3Object(new S3Object().withName(photo).withBucket(bucket)))
            .withMaxLabels(10).withMinConfidence(75F);
        logger.log("created label request");
        
        try {
            DetectLabelsResult result = rekognitionClient.detectLabels(request);
            logger.log("ran detectLabels");
            List <Label> labels = result.getLabels();
            logger.log("Detected labels for " + photo);
            for (Label label: labels) {
                logger.log(label.getName() + ": " + label.getConfidence().toString());
            }
            response = new AnalyzeTrickResponse(200);
            
        } catch (AmazonRekognitionException e) {
            response = new AnalyzeTrickResponse(400, "Unable to Analyze Trick: " + input.toString() + "(" + e.getMessage() + ")");
        }
        return response;
    }

当我逐步完成时,它会超时:

DetectLabelsResult result = rekognitionClient.detectLabels(request);

标签: amazon-web-servicesmavenaws-lambdaamazon-rekognition

解决方案


推荐阅读