CreateBatchPrediction
Generates predictions for a group of observations. The observations to process exist in one or more data files referenced
by a DataSource
. This operation creates a new BatchPrediction
, and uses an MLModel
and the data
files referenced by the DataSource
as information sources.
CreateBatchPrediction
is an asynchronous operation. In response to CreateBatchPrediction
,
Amazon Machine Learning (Amazon ML) immediately returns and sets the BatchPrediction
status to PENDING
.
After the BatchPrediction
completes, Amazon ML sets the status to COMPLETED
.
You can poll for status updates by using the GetBatchPrediction operation and checking the Status
parameter of the result. After the COMPLETED
status appears,
the results are available in the location specified by the OutputUri
parameter.
Request Syntax
{
"BatchPredictionDataSourceId": "string
",
"BatchPredictionId": "string
",
"BatchPredictionName": "string
",
"MLModelId": "string
",
"OutputUri": "string
"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- BatchPredictionDataSourceId
-
The ID of the
DataSource
that points to the group of observations to predict.Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[a-zA-Z0-9_.-]+
Required: Yes
- BatchPredictionId
-
A user-supplied ID that uniquely identifies the
BatchPrediction
.Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[a-zA-Z0-9_.-]+
Required: Yes
- BatchPredictionName
-
A user-supplied name or description of the
BatchPrediction
.BatchPredictionName
can only use the UTF-8 character set.Type: String
Length Constraints: Maximum length of 1024.
Pattern:
.*\S.*|^$
Required: No
- MLModelId
-
The ID of the
MLModel
that will generate predictions for the group of observations.Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[a-zA-Z0-9_.-]+
Required: Yes
- OutputUri
-
The location of an Amazon Simple Storage Service (Amazon S3) bucket or directory to store the batch prediction results. The following substrings are not allowed in the
s3 key
portion of theoutputURI
field: ':', '//', '/./', '/../'.Amazon ML needs permissions to store and retrieve the logs on your behalf. For information about how to set permissions, see the Amazon Machine Learning Developer Guide.
Type: String
Length Constraints: Maximum length of 2048.
Pattern:
s3://([^/]+)(/.*)?
Required: Yes
Response Syntax
{
"BatchPredictionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- BatchPredictionId
-
A user-supplied ID that uniquely identifies the
BatchPrediction
. This value is identical to the value of theBatchPredictionId
in the request.Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[a-zA-Z0-9_.-]+
Errors
For information about the errors that are common to all actions, see Common Errors.
- IdempotentParameterMismatchException
-
A second request to use or change an object was not allowed. This can result from retrying a request using a parameter that was not present in the original request.
HTTP Status Code: 400
- InternalServerException
-
An error on the server occurred when trying to process a request.
HTTP Status Code: 500
- InvalidInputException
-
An error on the client occurred. Typically, the cause is an invalid input value.
HTTP Status Code: 400
Examples
The following is a sample request and response of the BatchPrediction operation.
This example illustrates one usage of CreateBatchPrediction.
Sample Request
POST / HTTP/1.1
Host: machinelearning.<region>.<domain>
x-amz-Date: <Date>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=contenttype;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid,Signature=<Signature>
User-Agent: <UserAgentString>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Connection: Keep-Alive
X-Amz-Target: AmazonML_20141212.CreateBatchPrediction
{
"BatchPredictionId": "EXAMPLE-bp-2014-09-12-15-14-04-156",
"BatchPredictionName": "EXAMPLE",
"MLModelId": "EXAMPLE-pr-2014-09-12-15-14-04-924",
"BatchPredictionDataSourceId": "EXAMPLE-tr-ds-2014-09-12-15-14-04-989",
"OutputUri": "s3://eml-test-EXAMPLE/test-outputs/EXAMPLE-bp-2014-09-12-15-14-04-156/results"
}
Sample Response
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{"BatchPredictionId":"EXAMPLE-bp-2014-09-12-15-14-04-156"}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: