Skip to content

update_matching_workflow

update_matching_workflow(
    workflow_name: EntityName,
    input_source_config: InputSourceConfig,
    output_source_config: OutputSourceConfig,
    resolution_techniques: ResolutionTechniques,
    role_arn: str,
    *,
    config_overrides: Optional[EntityResolutionClientConfig] = None,
    description: Optional[Description] = None,
    incremental_run_config: Optional[IncrementalRunConfig] = None,
) -> UpdateMatchingWorkflowOutput

Updates an existing matching workflow. The workflow must already exist for this operation to succeed.

For workflows where resolutionType is PROVIDER, incremental processing is not supported.

Parameters:

  • workflow_name (EntityName) –

    The name of the workflow to be retrieved.

  • description (Optional[Description], default: None ) –

    A description of the workflow.

  • input_source_config (InputSourceConfig) –

    A list of InputSource objects, which have the fields InputSourceARN and SchemaName.

  • output_source_config (OutputSourceConfig) –

    A list of OutputSource objects, each of which contains fields outputS3Path, applyNormalization, KMSArn, and output.

  • resolution_techniques (ResolutionTechniques) –

    An object which defines the resolutionType and the ruleBasedProperties.

  • incremental_run_config (Optional[IncrementalRunConfig], default: None ) –

    Optional. An object that defines the incremental run type. This object contains only the incrementalRunType field, which appears as "Automatic" in the console.

    For workflows where resolutionType is PROVIDER, incremental processing is not supported.

  • role_arn (str) –

    The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

Raises:

Source code in docs_src/capo_entityresolution/_services/entity_resolution.py
def update_matching_workflow(
    self,
    workflow_name: "capo_entityresolution.types.entity_name.EntityName",
    input_source_config: "capo_entityresolution.types.input_source_config.InputSourceConfig",
    output_source_config: "capo_entityresolution.types.output_source_config.OutputSourceConfig",
    resolution_techniques: "capo_entityresolution.types.resolution_techniques.ResolutionTechniques",
    role_arn: str,
    *,
    config_overrides: Optional[EntityResolutionClientConfig] = None,
    description: Optional[
        "capo_entityresolution.types.description.Description"
    ] = None,
    incremental_run_config: Optional[
        "capo_entityresolution.types.incremental_run_config.IncrementalRunConfig"
    ] = None,
) -> "capo_entityresolution.types.update_matching_workflow_output.UpdateMatchingWorkflowOutput":
    """<p>Updates an existing matching workflow. The workflow must already exist for this operation to succeed.</p> <important> <p>For workflows where <code>resolutionType</code> is <code>PROVIDER</code>, incremental processing is not supported. </p> </important>

    Args:
        workflow_name: <p>The name of the workflow to be retrieved.</p>
        description: <p>A description of the workflow.</p>
        input_source_config: <p>A list of <code>InputSource</code> objects, which have the fields <code>InputSourceARN</code> and <code>SchemaName</code>.</p>
        output_source_config: <p>A list of <code>OutputSource</code> objects, each of which contains fields <code>outputS3Path</code>, <code>applyNormalization</code>, <code>KMSArn</code>, and <code>output</code>.</p>
        resolution_techniques: <p>An object which defines the <code>resolutionType</code> and the <code>ruleBasedProperties</code>.</p>
        incremental_run_config: <p>Optional. An object that defines the incremental run type. This object contains only the <code>incrementalRunType</code> field, which appears as "Automatic" in the console. </p> <important> <p>For workflows where <code>resolutionType</code> is <code>PROVIDER</code>, incremental processing is not supported. </p> </important>
        role_arn: <p>The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.</p>

    Raises:
        capo_entityresolution.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action. </p>
        capo_entityresolution.errors.internal_server_exception.InternalServerException: <p>This exception occurs when there is an internal failure in the Entity Resolution service. </p>
        capo_entityresolution.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource couldn't be found. </p>
        capo_entityresolution.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling. </p>
        capo_entityresolution.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by Entity Resolution. </p>
        capo_entityresolution.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_entityresolution.types.update_matching_workflow_input.UpdateMatchingWorkflowInput]",
    ) -> OperationResponse[
        "capo_entityresolution.types.update_matching_workflow_output.UpdateMatchingWorkflowOutput"
    ]:
        import capo_entityresolution._operations.aws_venice_service.update_matching_workflow

        output, http_response = (
            capo_entityresolution._operations.aws_venice_service.update_matching_workflow.update_matching_workflow(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateMatchingWorkflow")
    )
    input_: capo_entityresolution.types.update_matching_workflow_input.UpdateMatchingWorkflowInput = {
        "workflow_name": workflow_name,
        "input_source_config": input_source_config,
        "output_source_config": output_source_config,
        "resolution_techniques": resolution_techniques,
        "role_arn": role_arn,
    }
    if description is not None:
        input_["description"] = description
    if incremental_run_config is not None:
        input_["incremental_run_config"] = incremental_run_config

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output