Class: AWSCDK::Sagemaker::CfnEndpointConfig::DataCaptureConfigProperty

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

Overview

Specifies the configuration of your endpoint for model monitor data capture.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(capture_options:, destination_s3_uri:, initial_sampling_percentage:, capture_content_type_header: nil, enable_capture: nil, kms_key_id: nil) ⇒ DataCaptureConfigProperty

Returns a new instance of DataCaptureConfigProperty.

Parameters:



1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
# File 'sagemaker/cfn_endpoint_config.rb', line 1379

def initialize(capture_options:, destination_s3_uri:, initial_sampling_percentage:, capture_content_type_header: nil, enable_capture: nil, kms_key_id: nil)
  @capture_options = capture_options
  Jsii::Type.check_type(@capture_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2FnZW1ha2VyLkNmbkVuZHBvaW50Q29uZmlnLkNhcHR1cmVPcHRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "captureOptions")
  @destination_s3_uri = destination_s3_uri
  Jsii::Type.check_type(@destination_s3_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationS3Uri")
  @initial_sampling_percentage = initial_sampling_percentage
  Jsii::Type.check_type(@initial_sampling_percentage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "initialSamplingPercentage")
  @capture_content_type_header = capture_content_type_header.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnEndpointConfig::CaptureContentTypeHeaderProperty.new(**capture_content_type_header.transform_keys(&:to_sym)) : capture_content_type_header
  Jsii::Type.check_type(@capture_content_type_header, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuRW5kcG9pbnRDb25maWcuQ2FwdHVyZUNvbnRlbnRUeXBlSGVhZGVyUHJvcGVydHkifV19fQ==")), "captureContentTypeHeader") unless @capture_content_type_header.nil?
  @enable_capture = enable_capture
  Jsii::Type.check_type(@enable_capture, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enableCapture") unless @enable_capture.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
end

Instance Attribute Details

#capture_content_type_headerAWSCDK::IResolvable, ... (readonly)

A list of the JSON and CSV content type that the endpoint captures.



1413
1414
1415
# File 'sagemaker/cfn_endpoint_config.rb', line 1413

def capture_content_type_header
  @capture_content_type_header
end

#capture_optionsAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Sagemaker::CfnEndpointConfig::CaptureOptionProperty> (readonly)

Specifies whether the endpoint captures input data to your model, output data from your model, or both.



1398
1399
1400
# File 'sagemaker/cfn_endpoint_config.rb', line 1398

def capture_options
  @capture_options
end

#destination_s3_uriString (readonly)

The S3 bucket where model monitor stores captured data.



1403
1404
1405
# File 'sagemaker/cfn_endpoint_config.rb', line 1403

def destination_s3_uri
  @destination_s3_uri
end

#enable_captureBoolean, ... (readonly)

Set to True to enable data capture.



1418
1419
1420
# File 'sagemaker/cfn_endpoint_config.rb', line 1418

def enable_capture
  @enable_capture
end

#initial_sampling_percentageNumeric (readonly)

The percentage of data to capture.



1408
1409
1410
# File 'sagemaker/cfn_endpoint_config.rb', line 1408

def initial_sampling_percentage
  @initial_sampling_percentage
end

#kms_key_idString? (readonly)

The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the captured data at rest using Amazon S3 server-side encryption.

The KmsKeyId can be any of the following formats: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the Amazon Simple Storage Service Developer Guide. The KMS key policy must grant permission to the IAM role that you specify in your CreateModel (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see Using Key Policies in AWS KMS (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the AWS Key Management Service Developer Guide.



1425
1426
1427
# File 'sagemaker/cfn_endpoint_config.rb', line 1425

def kms_key_id
  @kms_key_id
end

Class Method Details

.jsii_propertiesObject



1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
# File 'sagemaker/cfn_endpoint_config.rb', line 1427

def self.jsii_properties
  {
    :capture_options => "captureOptions",
    :destination_s3_uri => "destinationS3Uri",
    :initial_sampling_percentage => "initialSamplingPercentage",
    :capture_content_type_header => "captureContentTypeHeader",
    :enable_capture => "enableCapture",
    :kms_key_id => "kmsKeyId",
  }
end

Instance Method Details

#to_jsiiObject



1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
# File 'sagemaker/cfn_endpoint_config.rb', line 1438

def to_jsii
  result = {}
  result.merge!({
    "captureOptions" => @capture_options,
    "destinationS3Uri" => @destination_s3_uri,
    "initialSamplingPercentage" => @initial_sampling_percentage,
    "captureContentTypeHeader" => @capture_content_type_header,
    "enableCapture" => @enable_capture,
    "kmsKeyId" => @kms_key_id,
  })
  result.compact
end