SageMakerCreateTrainingJobJsonPathProps Struct
Properties for creating an Amazon SageMaker training job using JSONPath.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
import { aws_ec2 as ec2 } from 'aws-cdk-lib';
import { aws_iam as iam } from 'aws-cdk-lib';
import { aws_kms as kms } from 'aws-cdk-lib';
import { aws_stepfunctions as stepfunctions } from 'aws-cdk-lib';
import { aws_stepfunctions_tasks as stepfunctions_tasks } from 'aws-cdk-lib';
declare const assign: any;
declare const dockerImage: stepfunctions_tasks.DockerImage;
declare const hyperparameters: any;
declare const instanceType: ec2.InstanceType;
declare const key: kms.Key;
declare const resultSelector: any;
declare const role: iam.Role;
declare const s3Location: stepfunctions_tasks.S3Location;
declare const size: cdk.Size;
declare const subnet: ec2.Subnet;
declare const subnetFilter: ec2.SubnetFilter;
declare const taskRole: stepfunctions.TaskRole;
declare const timeout: stepfunctions.Timeout;
declare const vpc: ec2.Vpc;
const sageMakerCreateTrainingJobJsonPathProps: stepfunctions_tasks.SageMakerCreateTrainingJobJsonPathProps = {
algorithmSpecification: {
algorithmName: 'algorithmName',
metricDefinitions: [{
name: 'name',
regex: 'regex',
}],
trainingImage: dockerImage,
trainingInputMode: stepfunctions_tasks.InputMode.PIPE,
},
outputDataConfig: {
s3OutputLocation: s3Location,
// the properties below are optional
encryptionKey: key,
},
trainingJobName: 'trainingJobName',
// the properties below are optional
assign: {
assignKey: assign,
},
comment: 'comment',
credentials: {
role: taskRole,
},
enableNetworkIsolation: false,
environment: {
environmentKey: 'environment',
},
heartbeat: cdk.Duration.minutes(30),
heartbeatTimeout: timeout,
hyperparameters: {
hyperparametersKey: hyperparameters,
},
inputDataConfig: [{
channelName: 'channelName',
dataSource: {
s3DataSource: {
s3Location: s3Location,
// the properties below are optional
attributeNames: ['attributeNames'],
s3DataDistributionType: stepfunctions_tasks.S3DataDistributionType.FULLY_REPLICATED,
s3DataType: stepfunctions_tasks.S3DataType.MANIFEST_FILE,
},
},
// the properties below are optional
compressionType: stepfunctions_tasks.CompressionType.NONE,
contentType: 'contentType',
inputMode: stepfunctions_tasks.InputMode.PIPE,
recordWrapperType: stepfunctions_tasks.RecordWrapperType.NONE,
shuffleConfig: {
seed: 123,
},
}],
inputPath: 'inputPath',
integrationPattern: stepfunctions.IntegrationPattern.REQUEST_RESPONSE,
outputPath: 'outputPath',
queryLanguage: stepfunctions.QueryLanguage.JSON_PATH,
resourceConfig: {
instanceCount: 123,
instanceType: instanceType,
volumeSize: size,
// the properties below are optional
volumeEncryptionKey: key,
},
resultPath: 'resultPath',
resultSelector: {
resultSelectorKey: resultSelector,
},
role: role,
stateName: 'stateName',
stoppingCondition: {
maxRuntime: cdk.Duration.minutes(30),
},
tags: {
tagsKey: 'tags',
},
taskTimeout: timeout,
timeout: cdk.Duration.minutes(30),
vpcConfig: {
vpc: vpc,
// the properties below are optional
subnets: {
availabilityZones: ['availabilityZones'],
onePerAz: false,
subnetFilters: [subnetFilter],
subnetGroupName: 'subnetGroupName',
subnets: [subnet],
subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
},
},
};
Properties
algorithmSpecificationAlgorithmSpecificationalgorithm_specificationAlgorithmSpecificationalgorithmSpecificationAlgorithmSpecificationAlgorithmSpecificationAlgorithmSpecificationAlgorithmSpecificationAlgorithmSpecificationrequired#assignoptional{ [key: string]: any }assignoptionaltyping.Mapping[str, Any]assignoptionalMap<String, Object>AssignoptionalIDictionary<string, object>Assignoptional*map[string]interface{}#Default: Not assign variables
Using workflow variables, you can store data in a step and retrieve that data in future steps.
commentoptionalstringcommentoptionalstrcommentoptionalStringCommentoptionalstringCommentoptional*string#Default: No comment
credentialsoptionalCredentialscredentialsoptionalCredentialscredentialsoptionalCredentialsCredentialsoptionalCredentialsCredentialsoptionalCredentials#Default: None (Task is executed using the State Machine's execution role)
This enables cross-account resource invocations.
enableNetworkIsolationoptionalbooleanenable_network_isolationoptionalboolenableNetworkIsolationoptionalBooleanEnableNetworkIsolationoptionalboolEnableNetworkIsolationoptional*bool= false#No inbound or outbound network calls can be made to or from the training container.
environmentoptional{ [key: string]: string }environmentoptionaltyping.Mapping[str, str]environmentoptionalMap<String, String>EnvironmentoptionalIDictionary<string, string>Environmentoptional*map[string]*string#Default: No environment variables
heartbeatoptionalDurationheartbeatoptionalDurationheartbeatoptionalDurationHeartbeatoptionalDurationHeartbeatoptionalDuration= Nonedeprecated#heartbeatTimeoutoptionalTimeoutheartbeat_timeoutoptionalTimeoutheartbeatTimeoutoptionalTimeoutHeartbeatTimeoutoptionalTimeoutHeartbeatTimeoutoptionalTimeout= None#[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
hyperparametersoptional{ [key: string]: any }hyperparametersoptionaltyping.Mapping[str, Any]hyperparametersoptionalMap<String, Object>HyperparametersoptionalIDictionary<string, object>Hyperparametersoptional*map[string]interface{}#Default: No hyperparameters
Set hyperparameters before you start the learning process. For a list of hyperparameters provided by Amazon SageMaker
inputDataConfigoptionalChannel[]input_data_configoptionaltyping.List[Channel]inputDataConfigoptionalList<Channel>InputDataConfigoptionalChannel[]InputDataConfigoptional*[]Channel#Default: No inputDataConfig
inputPathoptionalstringinput_pathoptionalstrinputPathoptionalStringInputPathoptionalstringInputPathoptional*string= $#May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}.
integrationPatternoptionalIntegrationPatternintegration_patternoptionalIntegrationPatternintegrationPatternoptionalIntegrationPatternIntegrationPatternoptionalIntegrationPatternIntegrationPatternoptionalIntegrationPattern#Default: IntegrationPattern.REQUEST_RESPONSE for most tasks. IntegrationPattern.RUN_JOB for the following exceptions: BatchSubmitJob, EmrAddStep, EmrCreateCluster, EmrTerminationCluster, and EmrContainersStartJobRun.
You can control these AWS services using service integration patterns.
Depending on the AWS Service, the Service Integration Pattern availability will vary.
outputDataConfigOutputDataConfigoutput_data_configOutputDataConfigoutputDataConfigOutputDataConfigOutputDataConfigOutputDataConfigOutputDataConfigOutputDataConfigrequired#outputPathoptionalstringoutput_pathoptionalstroutputPathoptionalStringOutputPathoptionalstringOutputPathoptional*string= $#May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}.
queryLanguageoptionalQueryLanguagequery_languageoptionalQueryLanguagequeryLanguageoptionalQueryLanguageQueryLanguageoptionalQueryLanguageQueryLanguageoptionalQueryLanguage= JSONPath#If the state does not contain a queryLanguage field, then it will use the query language specified in the top-level queryLanguage field.
resourceConfigoptionalResourceConfigresource_configoptionalResourceConfigresourceConfigoptionalResourceConfigResourceConfigoptionalResourceConfigResourceConfigoptionalResourceConfig#Default: 1 instance of EC2 M4.XLarge with 10GB volume
resultPathoptionalstringresult_pathoptionalstrresultPathoptionalStringResultPathoptionalstringResultPathoptional*string= $#May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output.
resultSelectoroptional{ [key: string]: any }result_selectoroptionaltyping.Mapping[str, Any]resultSelectoroptionalMap<String, Object>ResultSelectoroptionalIDictionary<string, object>ResultSelectoroptional*map[string]interface{}= None#You can use ResultSelector to create a payload with values that are static or selected from the state's raw result.
Default: a role will be created.
The role must be granted all necessary permissions for the SageMaker training job to be able to operate.
stateNameoptionalstringstate_nameoptionalstrstateNameoptionalStringStateNameoptionalstringStateNameoptional*string#Default: The construct ID will be used as state name
stoppingConditionoptionalStoppingConditionstopping_conditionoptionalStoppingConditionstoppingConditionoptionalStoppingConditionStoppingConditionoptionalStoppingConditionStoppingConditionoptionalStoppingCondition#Default: max runtime of 1 hour
tagsoptional{ [key: string]: string }tagsoptionaltyping.Mapping[str, str]tagsoptionalMap<String, String>TagsoptionalIDictionary<string, string>Tagsoptional*map[string]*string#Default: No tags
taskTimeoutoptionalTimeouttask_timeoutoptionalTimeouttaskTimeoutoptionalTimeoutTaskTimeoutoptionalTimeoutTaskTimeoutoptionalTimeout= None#[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
timeoutoptionalDurationtimeoutoptionalDurationtimeoutoptionalDurationTimeoutoptionalDurationTimeoutoptionalDuration= Nonedeprecated#trainingJobNamestringtraining_job_namestrtrainingJobNameStringTrainingJobNamestringTrainingJobName*stringrequired#