JAVA AWS 机器学习 API 启用实时预测

JAVA AWS Machine Learning API to enable Realtime prediction

谁能帮我提供 api 的名称,它可以实现模型的实时预测。请注意,我不是在请求 RealtimeEndpointRequest 对象。我已经浏览了 AWS Machine Learning SDK 的整个文档,但没有找到任何东西。

编辑 1: 这是我使用的代码 -

        CreateRealTimePrediction createRealTimePrediction ; 
        CreateRealtimeEndpointRequest createRealtimeEndPointReq;
        CreateRealtimeEndpointResult createRealtimeEndPointRes;
        PredictRequest predReq;
        String mlModelId="ml-Lkqmcs8cM2W";
        createRealtimeEndPointReq.setMLModelId(mlModelId);
        PredictResult predRes = null;
        Map<String,String> record=null;
        // assume i have set a record in the Map.
        createRealtimeEndPointRes = amlClient.createRealtimeEndpoint(createRealtimeEndPointReq); 
        String predictEndpoint=createRealtimeEndPointRes.getRealtimeEndpointInfo().getEndpointUrl();

        predReq= new PredictRequest();
        predReq.setMLModelId(mlModelId);
        for (int i=0;i<recordKeys.length;i++){
            record.put(recordKeys[i],recordValues[i]);
        }
        predReq.setRecord(record);
        predReq.setPredictEndpoint(predictEndpoint);
        predRes=amlClient.predict(predReq);
        return predRes;      
  }

现在发生的事情是 - 如果我通过手动使用 aws 管理控制台启用实时预测,然后 运行 这一段代码,那么结果会按预期生成,但是当我实时预测是禁用,然后我收到此错误 -

Exception in thread "main" com.amazonaws.services.machinelearning.model.PredictorNotMountedException: Either ML Model with id ml-Lkqmcs8
cM2W is not enabled for real-time predictions or the MLModelId is invalid. (Service: AmazonMachineLearning; Status Code: 400; Error Code
: PredictorNotMountedException; Request ID: 2dc70e58-07d0-11e5-a0c7-bb93f17d1b2e)
        at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1160)
        at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:748)
        at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:467)
        at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:302)
        at com.amazonaws.services.machinelearning.AmazonMachineLearningClient.invoke(AmazonMachineLearningClient.java:1995)
        at com.amazonaws.services.machinelearning.AmazonMachineLearningClient.predict(AmazonMachineLearningClient.java:637)
        at com.nrift.aml.prediction.realtime.CreateRealTimePrediction.createRealTimePrediction(CreateRealTimePrediction.java:61)
        at RealTimePrediction.main(RealTimePrediction.java:53)

这实际上意味着这段代码没有启用实时预测,尽管我已经使用了

CreateRealtimeEndpoint

api在里面。

P.s- 我发布的代码段不完整,完整的代码工作正常,因此您可以对代码的正确性做出假设。

您要找的API是CreateRealtimeEndpoint. Creating a real-time endpoint is the mechanism for enabling the model to be used for real-time predictions. When you no longer need to use this model, you can destroy the endpoint with the DeleteRealtimeEndpointAPI。该模型始终保持完整,因此您可以在需要时 create/delete 端点。