AWS::SageMaker::ProcessingJob - AWS CloudFormation

This is the new AWS CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.

AWS::SageMaker::ProcessingJob

An Amazon SageMaker processing job that is used to analyze data and evaluate models. For more information, see Process Data and Evaluate Models.

Also, note the following details specific to processing jobs created using CloudFormation stacks:

  • When you delete a CloudFormation stack with a processing job resource, the processing job is stopped using the StopProcessingJob API but not deleted. Any tags associated with the processing job are deleted using the DeleteTags API.

  • If any part of your CloudFormation stack deployment fails and a rollback initiates, processing jobs with a specified ProcessingJobName value might cause the stack to become stuck in a failed state. This occurs because during a rollback, CloudFormation attempts to recreate the stack resources. Processing job names must be unique, so when CloudFormation attempts to recreate a processing job using the already defined name, this results in an AlreadyExists error. To prevent this, we recommend that you don't specify the optional ProcessingJobName property, thereby allowing SageMaker to auto-generate a unique name for your processing job. This ensures successful stack rollbacks when necessary. If you must use custom job names, you have to manually modify the ProcessingJobName and redeploy the stack to recover from a failed rollback.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::SageMaker::ProcessingJob", "Properties" : { "AppSpecification" : AppSpecification, "Environment" : {Key: Value, ...}, "ExperimentConfig" : ExperimentConfig, "NetworkConfig" : NetworkConfig, "ProcessingInputs" : [ ProcessingInputsObject, ... ], "ProcessingJobName" : String, "ProcessingOutputConfig" : ProcessingOutputConfig, "ProcessingResources" : ProcessingResources, "RoleArn" : String, "StoppingCondition" : StoppingCondition, "Tags" : [ Tag, ... ] } }

Properties

AppSpecification

Configuration to run a processing job in a specified container image.

Required: Yes

Type: AppSpecification

Update requires: Replacement

Environment

Sets the environment variables in the Docker container.

Required: No

Type: Object of String

Pattern: [a-zA-Z_][a-zA-Z0-9_]*

Maximum: 256

Update requires: Replacement

ExperimentConfig

Associates a SageMaker job as a trial component with an experiment and trial. Specified when you call the CreateProcessingJob API.

Required: No

Type: ExperimentConfig

Update requires: Replacement

NetworkConfig

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

Required: No

Type: NetworkConfig

Update requires: Replacement

ProcessingInputs

List of input configurations for the processing job.

Required: No

Type: Array of ProcessingInputsObject

Minimum: 0

Maximum: 10

Update requires: Replacement

ProcessingJobName

The name of the processing job. If you don't provide a job name, then a unique name is automatically created for the job.

Required: No

Type: String

Pattern: [a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}

Minimum: 1

Maximum: 63

Update requires: Replacement

ProcessingOutputConfig

Contains information about the output location for the compiled model and the target device that the model runs on. TargetDevice and TargetPlatform are mutually exclusive, so you need to choose one between the two to specify your target device or platform. If you cannot find your device you want to use from the TargetDevice list, use TargetPlatform to describe the platform of your edge device and CompilerOptions if there are specific settings that are required or recommended to use for particular TargetPlatform.

Required: No

Type: ProcessingOutputConfig

Update requires: Replacement

ProcessingResources

Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.

Required: Yes

Type: ProcessingResources

Update requires: Replacement

RoleArn

The ARN of the role used to create the processing job.

Required: Yes

Type: String

Pattern: arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+

Minimum: 20

Maximum: 2048

Update requires: Replacement

StoppingCondition

Configures conditions under which the processing job should be stopped, such as how long the processing job has been running. After the condition is met, the processing job is stopped.

Required: No

Type: StoppingCondition

Update requires: Replacement

Tags

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

Required: No

Type: Array of Tag

Maximum: 50

Update requires: Replacement

Return values

Ref

Fn::GetAtt

AutoMLJobArn

The Amazon Resource Name (ARN) of the AutoML job associated with this processing job.

CreationTime

The time the processing job was created.

ExitMessage

A string, up to one KB in size, that contains metadata from the processing container when the processing job exits.

FailureReason

A string, up to one KB in size, that contains the reason a processing job failed, if it failed.

LastModifiedTime

The time the processing job was last modified.

MonitoringScheduleArn

The ARN of a monitoring schedule for an endpoint associated with this processing job.

ProcessingEndTime

The time that the processing job ended.

ProcessingJobArn

The ARN of the processing job.

ProcessingJobStatus

The status of the processing job.

ProcessingStartTime

The time that the processing job started.

TrainingJobArn

The ARN of the training job associated with this processing job.