Skip to content
v2.276.0

DataSource Struct ​

Location of the channel data.

Example ​

ts
new tasks.SageMakerCreateTrainingJob(this, 'TrainSagemaker', {
  trainingJobName: sfn.JsonPath.stringAt('$.JobName'),
  algorithmSpecification: {
    algorithmName: 'BlazingText',
    trainingInputMode: tasks.InputMode.FILE,
  },
  inputDataConfig: [{
    channelName: 'train',
    dataSource: {
      s3DataSource: {
        s3DataType: tasks.S3DataType.S3_PREFIX,
        s3Location: tasks.S3Location.fromJsonExpression('$.S3Bucket'),
      },
    },
  }],
  outputDataConfig: {
    s3OutputLocation: tasks.S3Location.fromBucket(s3.Bucket.fromBucketName(this, 'Bucket', 'amzn-s3-demo-bucket'), 'myoutputpath'),
  },
  resourceConfig: {
    instanceCount: 1,
    instanceType: new ec2.InstanceType(sfn.JsonPath.stringAt('$.InstanceType')),
    volumeSize: Size.gibibytes(50),
  }, // optional: default is 1 instance of EC2 `M4.XLarge` with `10GB` volume
  stoppingCondition: {
    maxRuntime: Duration.hours(2),
  }, // optional: default is 1 hour
});
python
tasks.SageMakerCreateTrainingJob(self, "TrainSagemaker",
    training_job_name=sfn.JsonPath.string_at("$.JobName"),
    algorithm_specification=tasks.AlgorithmSpecification(
        algorithm_name="BlazingText",
        training_input_mode=tasks.InputMode.FILE
    ),
    input_data_config=[tasks.Channel(
        channel_name="train",
        data_source=tasks.DataSource(
            s3_data_source=tasks.S3DataSource(
                s3_data_type=tasks.S3DataType.S3_PREFIX,
                s3_location=tasks.S3Location.from_json_expression("$.S3Bucket")
            )
        )
    )],
    output_data_config=tasks.OutputDataConfig(
        s3_output_location=tasks.S3Location.from_bucket(s3.Bucket.from_bucket_name(self, "Bucket", "amzn-s3-demo-bucket"), "myoutputpath")
    ),
    resource_config=tasks.ResourceConfig(
        instance_count=1,
        instance_type=ec2.InstanceType(sfn.JsonPath.string_at("$.InstanceType")),
        volume_size=Size.gibibytes(50)
    ),  # optional: default is 1 instance of EC2 `M4.XLarge` with `10GB` volume
    stopping_condition=tasks.StoppingCondition(
        max_runtime=Duration.hours(2)
    )
)
java
SageMakerCreateTrainingJob.Builder.create(this, "TrainSagemaker")
        .trainingJobName(JsonPath.stringAt("$.JobName"))
        .algorithmSpecification(AlgorithmSpecification.builder()
                .algorithmName("BlazingText")
                .trainingInputMode(InputMode.FILE)
                .build())
        .inputDataConfig(List.of(Channel.builder()
                .channelName("train")
                .dataSource(DataSource.builder()
                        .s3DataSource(S3DataSource.builder()
                                .s3DataType(S3DataType.S3_PREFIX)
                                .s3Location(S3Location.fromJsonExpression("$.S3Bucket"))
                                .build())
                        .build())
                .build()))
        .outputDataConfig(OutputDataConfig.builder()
                .s3OutputLocation(S3Location.fromBucket(Bucket.fromBucketName(this, "Bucket", "amzn-s3-demo-bucket"), "myoutputpath"))
                .build())
        .resourceConfig(ResourceConfig.builder()
                .instanceCount(1)
                .instanceType(new InstanceType(JsonPath.stringAt("$.InstanceType")))
                .volumeSize(Size.gibibytes(50))
                .build()) // optional: default is 1 instance of EC2 `M4.XLarge` with `10GB` volume
        .stoppingCondition(StoppingCondition.builder()
                .maxRuntime(Duration.hours(2))
                .build())
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
new SageMakerCreateTrainingJob(this, "TrainSagemaker", new SageMakerCreateTrainingJobProps {
    TrainingJobName = JsonPath.StringAt("$.JobName"),
    AlgorithmSpecification = new AlgorithmSpecification {
        AlgorithmName = "BlazingText",
        TrainingInputMode = InputMode.FILE
    },
    InputDataConfig = new [] { new Channel {
        ChannelName = "train",
        DataSource = new DataSource {
            S3DataSource = new S3DataSource {
                S3DataType = S3DataType.S3_PREFIX,
                S3Location = S3Location.FromJsonExpression("$.S3Bucket")
            }
        }
    } },
    OutputDataConfig = new OutputDataConfig {
        S3OutputLocation = S3Location.FromBucket(Bucket.FromBucketName(this, "Bucket", "amzn-s3-demo-bucket"), "myoutputpath")
    },
    ResourceConfig = new ResourceConfig {
        InstanceCount = 1,
        InstanceType = new InstanceType(JsonPath.StringAt("$.InstanceType")),
        VolumeSize = Size.Gibibytes(50)
    },  // optional: default is 1 instance of EC2 `M4.XLarge` with `10GB` volume
    StoppingCondition = new StoppingCondition {
        MaxRuntime = Duration.Hours(2)
    }
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
tasks.NewSageMakerCreateTrainingJob(this, jsii.String("TrainSagemaker"), &SageMakerCreateTrainingJobProps{
	TrainingJobName: sfn.JsonPath_StringAt(jsii.String("$.JobName")),
	AlgorithmSpecification: &AlgorithmSpecification{
		AlgorithmName: jsii.String("BlazingText"),
		TrainingInputMode: tasks.InputMode_FILE,
	},
	InputDataConfig: []Channel{
		&Channel{
			ChannelName: jsii.String("train"),
			DataSource: &DataSource{
				S3DataSource: &S3DataSource{
					S3DataType: tasks.S3DataType_S3_PREFIX,
					S3Location: tasks.S3Location_FromJsonExpression(jsii.String("$.S3Bucket")),
				},
			},
		},
	},
	OutputDataConfig: &OutputDataConfig{
		S3OutputLocation: tasks.S3Location_FromBucket(s3.Bucket_FromBucketName(this, jsii.String("Bucket"), jsii.String("amzn-s3-demo-bucket")), jsii.String("myoutputpath")),
	},
	ResourceConfig: &ResourceConfig{
		InstanceCount: jsii.Number(1),
		InstanceType: ec2.NewInstanceType(sfn.JsonPath_*StringAt(jsii.String("$.InstanceType"))),
		VolumeSize: awscdk.Size_Gibibytes(jsii.Number(50)),
	},
	 // optional: default is 1 instance of EC2 `M4.XLarge` with `10GB` volume
	StoppingCondition: &StoppingCondition{
		MaxRuntime: awscdk.Duration_Hours(jsii.Number(2)),
	},
})

Properties ​

s3DataSourceS3DataSources3_data_sourceS3DataSources3DataSourceS3DataSourceS3DataSourceS3DataSourceS3DataSourceS3DataSourcerequired#
S3 location of the data source that is associated with a channel.