谁能帮我找一下用于启用模型实时预测的API名称。请注意,我不是在请求RealtimeEndpointRequest对象。我已经查阅了AWS 机器学习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; // 假设我在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: 模型ID为ml-Lkqmcs8cM2W的ML模型未启用实时预测或MLModelId无效。 (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。
附注 – 我发布的代码片段并不完整,完整的代码是正确工作的,所以你可以假设代码的正确性。
回答:
你要找的API是CreateRealtimeEndpoint。创建实时端点是启用模型进行实时预测的机制。当你不再需要使用这个模型时,你可以使用DeleteRealtimeEndpoint API来销毁端点。模型始终保持完整,因此你可以在需要时创建/删除端点。