Class: AWSCDK::Sagemaker::CfnProcessingJob::S3InputProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
sagemaker/cfn_processing_job.rb

Overview

Configuration for downloading input data from Amazon S3 into the processing container.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(s3_data_type:, s3_uri:, local_path: nil, s3_compression_type: nil, s3_data_distribution_type: nil, s3_input_mode: nil) ⇒ S3InputProperty

Returns a new instance of S3InputProperty.

Parameters:

  • s3_data_type (String)

    Whether you use an S3Prefix or a ManifestFile for the data type.

  • s3_uri (String)

    The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.

  • local_path (String, nil) (defaults to: nil)

    The local path in your container where you want Amazon SageMaker to write input data to.

  • s3_compression_type (String, nil) (defaults to: nil)

    Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the processing container.

  • s3_data_distribution_type (String, nil) (defaults to: nil)

    Whether to distribute the data from Amazon S3 to all processing instances with FullyReplicated , or whether the data from Amazon S3 is sharded by Amazon S3 key, downloading one shard of data to each processing instance.

  • s3_input_mode (String, nil) (defaults to: nil)

    Whether to use File or Pipe input mode.



1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
# File 'sagemaker/cfn_processing_job.rb', line 1547

def initialize(s3_data_type:, s3_uri:, local_path: nil, s3_compression_type: nil, s3_data_distribution_type: nil, s3_input_mode: nil)
  @s3_data_type = s3_data_type
  Jsii::Type.check_type(@s3_data_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3DataType")
  @s3_uri = s3_uri
  Jsii::Type.check_type(@s3_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3Uri")
  @local_path = local_path
  Jsii::Type.check_type(@local_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "localPath") unless @local_path.nil?
  @s3_compression_type = s3_compression_type
  Jsii::Type.check_type(@s3_compression_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3CompressionType") unless @s3_compression_type.nil?
  @s3_data_distribution_type = s3_data_distribution_type
  Jsii::Type.check_type(@s3_data_distribution_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3DataDistributionType") unless @s3_data_distribution_type.nil?
  @s3_input_mode = s3_input_mode
  Jsii::Type.check_type(@s3_input_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3InputMode") unless @s3_input_mode.nil?
end

Instance Attribute Details

#local_pathString? (readonly)

The local path in your container where you want Amazon SageMaker to write input data to.

LocalPath is an absolute path to the input data and must begin with /opt/ml/processing/ . LocalPath is a required parameter when AppManaged is False (default).



1580
1581
1582
# File 'sagemaker/cfn_processing_job.rb', line 1580

def local_path
  @local_path
end

#s3_compression_typeString? (readonly)

Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the processing container.

Gzip can only be used when Pipe mode is specified as the S3InputMode . In Pipe mode, Amazon SageMaker streams input data from the source directly to your container without using the EBS volume.



1587
1588
1589
# File 'sagemaker/cfn_processing_job.rb', line 1587

def s3_compression_type
  @s3_compression_type
end

#s3_data_distribution_typeString? (readonly)

Whether to distribute the data from Amazon S3 to all processing instances with FullyReplicated , or whether the data from Amazon S3 is sharded by Amazon S3 key, downloading one shard of data to each processing instance.



1592
1593
1594
# File 'sagemaker/cfn_processing_job.rb', line 1592

def s3_data_distribution_type
  @s3_data_distribution_type
end

#s3_data_typeString (readonly)

Whether you use an S3Prefix or a ManifestFile for the data type.

If you choose S3Prefix , S3Uri identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for the processing job. If you choose ManifestFile , S3Uri identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for the processing job.



1568
1569
1570
# File 'sagemaker/cfn_processing_job.rb', line 1568

def s3_data_type
  @s3_data_type
end

#s3_input_modeString? (readonly)

Whether to use File or Pipe input mode.

In File mode, Amazon SageMaker copies the data from the input source onto the local ML storage volume before starting your processing container. This is the most commonly used input mode. In Pipe mode, Amazon SageMaker streams input data from the source directly to your processing container into named pipes without using the ML storage volume.



1599
1600
1601
# File 'sagemaker/cfn_processing_job.rb', line 1599

def s3_input_mode
  @s3_input_mode
end

#s3_uriString (readonly)

The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.



1573
1574
1575
# File 'sagemaker/cfn_processing_job.rb', line 1573

def s3_uri
  @s3_uri
end

Class Method Details

.jsii_propertiesObject



1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
# File 'sagemaker/cfn_processing_job.rb', line 1601

def self.jsii_properties
  {
    :s3_data_type => "s3DataType",
    :s3_uri => "s3Uri",
    :local_path => "localPath",
    :s3_compression_type => "s3CompressionType",
    :s3_data_distribution_type => "s3DataDistributionType",
    :s3_input_mode => "s3InputMode",
  }
end

Instance Method Details

#to_jsiiObject



1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
# File 'sagemaker/cfn_processing_job.rb', line 1612

def to_jsii
  result = {}
  result.merge!({
    "s3DataType" => @s3_data_type,
    "s3Uri" => @s3_uri,
    "localPath" => @local_path,
    "s3CompressionType" => @s3_compression_type,
    "s3DataDistributionType" => @s3_data_distribution_type,
    "s3InputMode" => @s3_input_mode,
  })
  result.compact
end