updateProfileJob method

Future<UpdateProfileJobResponse> updateProfileJob({
  1. required String name,
  2. required S3Location outputLocation,
  3. required String roleArn,
  4. ProfileConfiguration? configuration,
  5. String? encryptionKeyArn,
  6. EncryptionMode? encryptionMode,
  7. JobSample? jobSample,
  8. LogSubscription? logSubscription,
  9. int? maxCapacity,
  10. int? maxRetries,
  11. int? timeout,
  12. List<ValidationConfiguration>? validationConfigurations,
})

Modifies the definition of an existing profile job.

May throw AccessDeniedException. May throw ResourceNotFoundException. May throw ValidationException.

Parameter name : The name of the job to be updated.

Parameter roleArn : The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role to be assumed when DataBrew runs the job.

Parameter configuration : Configuration for profile jobs. Used to select columns, do evaluations, and override default parameters of evaluations. When configuration is null, the profile job will run with default settings.

Parameter encryptionKeyArn : The Amazon Resource Name (ARN) of an encryption key that is used to protect the job.

Parameter encryptionMode : The encryption mode for the job, which can be one of the following:

  • SSE-KMS - Server-side encryption with keys managed by KMS.
  • SSE-S3 - Server-side encryption with keys managed by Amazon S3.

Parameter jobSample : Sample configuration for Profile Jobs only. Determines the number of rows on which the Profile job will be executed. If a JobSample value is not provided for profile jobs, the default value will be used. The default value is CUSTOM_ROWS for the mode parameter and 20000 for the size parameter.

Parameter logSubscription : Enables or disables Amazon CloudWatch logging for the job. If logging is enabled, CloudWatch writes one log stream for each job run.

Parameter maxCapacity : The maximum number of compute nodes that DataBrew can use when the job processes data.

Parameter maxRetries : The maximum number of times to retry the job after a job run fails.

Parameter timeout : The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of TIMEOUT.

Parameter validationConfigurations : List of validation configurations that are applied to the profile job.

Implementation

Future<UpdateProfileJobResponse> updateProfileJob({
  required String name,
  required S3Location outputLocation,
  required String roleArn,
  ProfileConfiguration? configuration,
  String? encryptionKeyArn,
  EncryptionMode? encryptionMode,
  JobSample? jobSample,
  LogSubscription? logSubscription,
  int? maxCapacity,
  int? maxRetries,
  int? timeout,
  List<ValidationConfiguration>? validationConfigurations,
}) async {
  _s.validateNumRange(
    'maxRetries',
    maxRetries,
    0,
    1152921504606846976,
  );
  _s.validateNumRange(
    'timeout',
    timeout,
    0,
    1152921504606846976,
  );
  final $payload = <String, dynamic>{
    'OutputLocation': outputLocation,
    'RoleArn': roleArn,
    if (configuration != null) 'Configuration': configuration,
    if (encryptionKeyArn != null) 'EncryptionKeyArn': encryptionKeyArn,
    if (encryptionMode != null) 'EncryptionMode': encryptionMode.value,
    if (jobSample != null) 'JobSample': jobSample,
    if (logSubscription != null) 'LogSubscription': logSubscription.value,
    if (maxCapacity != null) 'MaxCapacity': maxCapacity,
    if (maxRetries != null) 'MaxRetries': maxRetries,
    if (timeout != null) 'Timeout': timeout,
    if (validationConfigurations != null)
      'ValidationConfigurations': validationConfigurations,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri: '/profileJobs/${Uri.encodeComponent(name)}',
    exceptionFnMap: _exceptionFns,
  );
  return UpdateProfileJobResponse.fromJson(response);
}