

# StartMLModelTransformJob
<a name="API_StartMLModelTransformJob"></a>

Creates a new model transform job. See [Use a trained model to generate new model artifacts](https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).

When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the [neptune-db:StartMLModelTransformJob](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#startmlmodeltransformjob) IAM action in that cluster.

## Request Syntax
<a name="API_StartMLModelTransformJob_RequestSyntax"></a>

```
POST /ml/modeltransform HTTP/1.1
Content-type: application/json

{
   "baseProcessingInstanceType": "string",
   "baseProcessingInstanceVolumeSizeInGB": number,
   "customModelTransformParameters": { 
      "sourceS3DirectoryPath": "string",
      "transformEntryPointScript": "string"
   },
   "dataProcessingJobId": "string",
   "id": "string",
   "mlModelTrainingJobId": "string",
   "modelTransformOutputS3Location": "string",
   "neptuneIamRoleArn": "string",
   "s3OutputEncryptionKMSKey": "string",
   "sagemakerIamRoleArn": "string",
   "securityGroupIds": [ "string" ],
   "subnets": [ "string" ],
   "trainingJobName": "string",
   "volumeEncryptionKMSKey": "string"
}
```

## URI Request Parameters
<a name="API_StartMLModelTransformJob_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_StartMLModelTransformJob_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [baseProcessingInstanceType](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-baseProcessingInstanceType"></a>
The type of ML instance used in preparing and managing training of ML models. This is an ML compute instance chosen based on memory requirements for processing the training data and model.  
Type: String  
Required: No

 ** [baseProcessingInstanceVolumeSizeInGB](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-baseProcessingInstanceVolumeSizeInGB"></a>
The disk volume size of the training instance in gigabytes. The default is 0. Both input data and the output model are stored on disk, so the volume size must be large enough to hold both data sets. If not specified or 0, Neptune ML selects a disk volume size based on the recommendation generated in the data processing step.  
Type: Integer  
Required: No

 ** [customModelTransformParameters](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-customModelTransformParameters"></a>
Configuration information for a model transform using a custom model. The `customModelTransformParameters` object contains the following fields, which must have values compatible with the saved model parameters from the training job:  
Type: [CustomModelTransformParameters](API_CustomModelTransformParameters.md) object  
Required: No

 ** [dataProcessingJobId](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-dataProcessingJobId"></a>
The job ID of a completed data-processing job. You must include either `dataProcessingJobId` and a `mlModelTrainingJobId`, or a `trainingJobName`.  
Type: String  
Required: No

 ** [id](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-id"></a>
A unique identifier for the new job. The default is an autogenerated UUID.  
Type: String  
Required: No

 ** [mlModelTrainingJobId](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-mlModelTrainingJobId"></a>
The job ID of a completed model-training job. You must include either `dataProcessingJobId` and a `mlModelTrainingJobId`, or a `trainingJobName`.  
Type: String  
Required: No

 ** [modelTransformOutputS3Location](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-modelTransformOutputS3Location"></a>
The location in Amazon S3 where the model artifacts are to be stored.  
Type: String  
Required: Yes

 ** [neptuneIamRoleArn](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-neptuneIamRoleArn"></a>
The ARN of an IAM role that provides Neptune access to SageMaker and Amazon S3 resources. This must be listed in your DB cluster parameter group or an error will occur.  
Type: String  
Required: No

 ** [s3OutputEncryptionKMSKey](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-s3OutputEncryptionKMSKey"></a>
The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt the output of the processing job. The default is none.  
Type: String  
Required: No

 ** [sagemakerIamRoleArn](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-sagemakerIamRoleArn"></a>
The ARN of an IAM role for SageMaker execution. This must be listed in your DB cluster parameter group or an error will occur.  
Type: String  
Required: No

 ** [securityGroupIds](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-securityGroupIds"></a>
The VPC security group IDs. The default is None.  
Type: Array of strings  
Required: No

 ** [subnets](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-subnets"></a>
The IDs of the subnets in the Neptune VPC. The default is None.  
Type: Array of strings  
Required: No

 ** [trainingJobName](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-trainingJobName"></a>
The name of a completed SageMaker training job. You must include either `dataProcessingJobId` and a `mlModelTrainingJobId`, or a `trainingJobName`.  
Type: String  
Required: No

 ** [volumeEncryptionKMSKey](#API_StartMLModelTransformJob_RequestSyntax) **   <a name="neptunedata-StartMLModelTransformJob-request-volumeEncryptionKMSKey"></a>
The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt data on the storage volume attached to the ML compute instances that run the training job. The default is None.  
Type: String  
Required: No

## Response Syntax
<a name="API_StartMLModelTransformJob_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "arn": "string",
   "creationTimeInMillis": number,
   "id": "string"
}
```

## Response Elements
<a name="API_StartMLModelTransformJob_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [arn](#API_StartMLModelTransformJob_ResponseSyntax) **   <a name="neptunedata-StartMLModelTransformJob-response-arn"></a>
The ARN of the model transform job.  
Type: String

 ** [creationTimeInMillis](#API_StartMLModelTransformJob_ResponseSyntax) **   <a name="neptunedata-StartMLModelTransformJob-response-creationTimeInMillis"></a>
The creation time of the model transform job, in milliseconds.  
Type: Long

 ** [id](#API_StartMLModelTransformJob_ResponseSyntax) **   <a name="neptunedata-StartMLModelTransformJob-response-id"></a>
The unique ID of the new model transform job.  
Type: String

## Errors
<a name="API_StartMLModelTransformJob_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BadRequestException **   
Raised when a request is submitted that cannot be processed.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the bad request.
HTTP Status Code: 400

 ** ClientTimeoutException **   
Raised when a request timed out in the client.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the request in question.
HTTP Status Code: 408

 ** ConstraintViolationException **   
Raised when a value in a request field did not satisfy required constraints.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the request in question.
HTTP Status Code: 400

 ** IllegalArgumentException **   
Raised when an argument in a request is not supported.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the request in question.
HTTP Status Code: 400

 ** InvalidArgumentException **   
Raised when an argument in a request has an invalid value.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the request in question.
HTTP Status Code: 400

 ** InvalidParameterException **   
Raised when a parameter value is not valid.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the request that includes an invalid parameter.
HTTP Status Code: 400

 ** MissingParameterException **   
Raised when a required parameter is missing.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the request in which the parameter is missing.
HTTP Status Code: 400

 ** MLResourceNotFoundException **   
Raised when a specified machine-learning resource could not be found.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the request in question.
HTTP Status Code: 404

 ** PreconditionsFailedException **   
Raised when a precondition for processing a request is not satisfied.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the request in question.
HTTP Status Code: 400

 ** TooManyRequestsException **   
Raised when the number of requests being processed exceeds the limit.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the request that could not be processed for this reason.
HTTP Status Code: 429

 ** UnsupportedOperationException **   
Raised when a request attempts to initiate an operation that is not supported.    
 ** code **   
The HTTP status code returned with the exception.  
 ** detailedMessage **   
A detailed message describing the problem.  
 ** requestId **   
The ID of the request in question.
HTTP Status Code: 400

## See Also
<a name="API_StartMLModelTransformJob_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/neptunedata-2023-08-01/StartMLModelTransformJob) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/neptunedata-2023-08-01/StartMLModelTransformJob) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/neptunedata-2023-08-01/StartMLModelTransformJob) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/neptunedata-2023-08-01/StartMLModelTransformJob) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/neptunedata-2023-08-01/StartMLModelTransformJob) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/neptunedata-2023-08-01/StartMLModelTransformJob) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/neptunedata-2023-08-01/StartMLModelTransformJob) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/neptunedata-2023-08-01/StartMLModelTransformJob) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/neptunedata-2023-08-01/StartMLModelTransformJob) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/neptunedata-2023-08-01/StartMLModelTransformJob) 