createDataQualityJobDefinition method
- required DataQualityAppSpecification dataQualityAppSpecification,
- required DataQualityJobInput dataQualityJobInput,
- required MonitoringOutputConfig dataQualityJobOutputConfig,
- required String jobDefinitionName,
- required MonitoringResources jobResources,
- required String roleArn,
- DataQualityBaselineConfig? dataQualityBaselineConfig,
- MonitoringNetworkConfig? networkConfig,
- MonitoringStoppingCondition? stoppingCondition,
- List<
Tag> ? tags,
Creates a definition for a job that monitors data quality and drift. For information about model monitor, see Amazon SageMaker Model Monitor.
May throw ResourceLimitExceeded. May throw ResourceInUse.
Parameter dataQualityAppSpecification
:
Specifies the container that runs the monitoring job.
Parameter dataQualityJobInput
:
A list of inputs for the monitoring job. Currently endpoints are supported
as monitoring inputs.
Parameter jobDefinitionName
:
The name for the monitoring job definition.
Parameter roleArn
:
The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
assume to perform tasks on your behalf.
Parameter dataQualityBaselineConfig
:
Configures the constraints and baselines for the monitoring job.
Parameter networkConfig
:
Specifies networking configuration for the monitoring job.
Parameter tags
:
(Optional) An array of key-value pairs. For more information, see Using
Cost Allocation Tags in the AWS Billing and Cost Management User
Guide.
Implementation
Future<CreateDataQualityJobDefinitionResponse>
createDataQualityJobDefinition({
required DataQualityAppSpecification dataQualityAppSpecification,
required DataQualityJobInput dataQualityJobInput,
required MonitoringOutputConfig dataQualityJobOutputConfig,
required String jobDefinitionName,
required MonitoringResources jobResources,
required String roleArn,
DataQualityBaselineConfig? dataQualityBaselineConfig,
MonitoringNetworkConfig? networkConfig,
MonitoringStoppingCondition? stoppingCondition,
List<Tag>? tags,
}) async {
ArgumentError.checkNotNull(
dataQualityAppSpecification, 'dataQualityAppSpecification');
ArgumentError.checkNotNull(dataQualityJobInput, 'dataQualityJobInput');
ArgumentError.checkNotNull(
dataQualityJobOutputConfig, 'dataQualityJobOutputConfig');
ArgumentError.checkNotNull(jobDefinitionName, 'jobDefinitionName');
_s.validateStringLength(
'jobDefinitionName',
jobDefinitionName,
1,
63,
isRequired: true,
);
ArgumentError.checkNotNull(jobResources, 'jobResources');
ArgumentError.checkNotNull(roleArn, 'roleArn');
_s.validateStringLength(
'roleArn',
roleArn,
20,
2048,
isRequired: true,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'SageMaker.CreateDataQualityJobDefinition'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'DataQualityAppSpecification': dataQualityAppSpecification,
'DataQualityJobInput': dataQualityJobInput,
'DataQualityJobOutputConfig': dataQualityJobOutputConfig,
'JobDefinitionName': jobDefinitionName,
'JobResources': jobResources,
'RoleArn': roleArn,
if (dataQualityBaselineConfig != null)
'DataQualityBaselineConfig': dataQualityBaselineConfig,
if (networkConfig != null) 'NetworkConfig': networkConfig,
if (stoppingCondition != null) 'StoppingCondition': stoppingCondition,
if (tags != null) 'Tags': tags,
},
);
return CreateDataQualityJobDefinitionResponse.fromJson(jsonResponse.body);
}