Skip to content

update_matching_workflow async

update_matching_workflow(
    workflow_name: EntityName,
    input_source_config: InputSourceConfig,
    output_source_config: OutputSourceConfig,
    resolution_techniques: ResolutionTechniques,
    role_arn: str,
    *,
    config_overrides: Optional[AsyncEntityResolutionClientConfig] = 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/async_entity_resolution.py
async 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[AsyncEntityResolutionClientConfig] = 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.
    """

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

        (
            output,
            http_response,
        ) = await capo_entityresolution._operations.aws_venice_service.update_matching_workflow.async_update_matching_workflow(
            req.options, req.input
        )
        return AsyncOperationResponse(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 = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output