AWS::SageMaker::Pipeline
The AWS::SageMaker::Pipeline
resource creates shell scripts that run when
you create and/or start a SageMaker Pipeline. For information about SageMaker Pipelines,
see SageMaker
Pipelines in the Amazon SageMaker Developer
Guide.
Syntax
To declare this entity in your Amazon CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::SageMaker::Pipeline", "Properties" : { "ParallelismConfiguration" :
ParallelismConfiguration
, "PipelineDefinition" :PipelineDefinition
, "PipelineDescription" :String
, "PipelineDisplayName" :String
, "PipelineName" :String
, "RoleArn" :String
, "Tags" :[ Tag, ... ]
} }
YAML
Type: AWS::SageMaker::Pipeline Properties: ParallelismConfiguration:
ParallelismConfiguration
PipelineDefinition:PipelineDefinition
PipelineDescription:String
PipelineDisplayName:String
PipelineName:String
RoleArn:String
Tags:- Tag
Properties
ParallelismConfiguration
-
The parallelism configuration applied to the pipeline.
Required: No
Type: ParallelismConfiguration
Update requires: No interruption
PipelineDefinition
-
The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.
Required: Yes
Type: PipelineDefinition
Update requires: No interruption
PipelineDescription
-
The description of the pipeline.
Required: No
Type: String
Minimum:
0
Maximum:
3072
Update requires: No interruption
PipelineDisplayName
-
The display name of the pipeline.
Required: No
Type: String
Pattern:
^[a-zA-Z0-9](-*[a-zA-Z0-9])*
Minimum:
1
Maximum:
256
Update requires: No interruption
PipelineName
-
The name of the pipeline.
Required: Yes
Type: String
Pattern:
^[a-zA-Z0-9](-*[a-zA-Z0-9])*
Minimum:
1
Maximum:
256
Update requires: Replacement
RoleArn
-
The Amazon Resource Name (ARN) of the IAM role used to execute the pipeline.
Required: Yes
Type: String
Pattern:
^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$
Minimum:
20
Maximum:
2048
Update requires: No interruption
-
The tags of the pipeline.
Required: No
Type: Array of Tag
Minimum:
0
Maximum:
50
Update requires: No interruption
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the PipelineName of the pipeline.
For more information about using the Ref
function, see Ref
.
Examples
SageMaker Pipeline Example
The following example creates a Pipeline with an associated lifecycle configuration.
JSON
# Pipeline definition given as a JSON string { "Resources": { "MyPipeline": { "Type": "AWS::SageMaker::Pipeline", "Properties": { "PipelineName": "<pipeline-name>" "PipelineDisplayName": "<pipeline-display-name>", "PipelineDescription": "<pipeline-description>", "PipelineDefinition": { "PipelineDefinitionBody": "{\"Version\":\"2020-12-01\",\"Parameters\":[{\"Name\":\"InputDataSource\",\"DefaultValue\":\"\"},{\"Name\":\"InstanceCount\",\"Type\":\"Integer\",\"DefaultValue\":1}],\"Steps\":[{\"Name\":\"Training1\",\"Type\":\"Training\",\"Arguments\":{\"InputDataConfig\":[{\"DataSource\":{\"S3DataSource\":{\"S3Uri\":{\"Get\":\"Parameters.InputDataSource\"}}}}],\"OutputDataConfig\":{\"S3OutputPath\":\"s3://amzn-s3-demo-bucket/\"},\"ResourceConfig\":{\"InstanceType\":\"ml.m5.large\",\"InstanceCount\":{\"Get\":\"Parameters.InstanceCount\"},\"VolumeSizeInGB\":1024}}}]}" }, "RoleArn": "arn:aws:iam::<account-id>:root" } } } }
JSON
# Pipeline definition given as an S3 string { "Resources": { "MyPipeline": { "Type": "AWS::SageMaker::Pipeline", "Properties": { "PipelineName": "<pipeline-name>", "PipelineDisplayName": "<pipeline-display-name>", "PipelineDescription": "<pipeline-description>", "PipelineDefinition": { "PipelineDefinitionS3Location": { "Bucket": "<S3-bucket-location>", "Key": "<S3-bucket-key>" } }, "RoleArn": "arn:aws:iam::<account-id>:root" } } } }
YAML
# Pipeline definition given as a JSON string Resources: MyPipeline: Type: AWS::SageMaker::Pipeline Properties: PipelineName: "<pipeline-name>" PipelineDisplayName: "<pipeline-display-name>" PipelineDescription: "<pipeline-description>" PipelineDefinition: PipelineDefinitionBody: "{\"Version\":\"2020-12-01\",\"Parameters\":[{\"Name\":\"InputDataSource\",\"DefaultValue\":\"\"},{\"Name\":\"InstanceCount\",\"Type\":\"Integer\",\"DefaultValue\":1}],\"Steps\":[{\"Name\":\"Training1\",\"Type\":\"Training\",\"Arguments\":{\"InputDataConfig\":[{\"DataSource\":{\"S3DataSource\":{\"S3Uri\":{\"Get\":\"Parameters.InputDataSource\"}}}}],\"OutputDataConfig\":{\"S3OutputPath\":\"s3://amzn-s3-demo-bucket/\"},\"ResourceConfig\":{\"InstanceType\":\"ml.m5.large\",\"InstanceCount\":{\"Get\":\"Parameters.InstanceCount\"},\"VolumeSizeInGB\":1024}}}]}" RoleArn: "arn:aws:iam::<account-id>:root"
YAML
# Pipeline definition given as an S3 location Resources: MyPipeline: Type: AWS::SageMaker::Pipeline Properties: PipelineName: "<pipeline-name>" PipelineDisplayName:"<pipeline-display-name>" PipelineDescription: "<pipeline-description>" PipelineDefinition: PipelineDefinitionS3Location: Bucket: "<S3-bucket-location>" Key: "<S3-bucket-key>" RoleArn: "arn:aws:iam::<account-id>:root"