Skip to content

update_id_mapping_workflow

update_id_mapping_workflow(
    workflow_name: EntityName,
    input_source_config: IdMappingWorkflowInputSourceConfig,
    id_mapping_techniques: IdMappingTechniques,
    *,
    config_overrides: Optional[EntityResolutionClientConfig] = None,
    description: Optional[Description] = None,
    output_source_config: Optional[IdMappingWorkflowOutputSourceConfig] = None,
    incremental_run_config: Optional[IdMappingIncrementalRunConfig] = None,
    role_arn: Optional[IdMappingRoleArn] = None,
) -> UpdateIdMappingWorkflowOutput

Updates an existing IdMappingWorkflow. This method is identical to CreateIdMappingWorkflow, except it uses an HTTP PUT request instead of a POST request, and the IdMappingWorkflow must already exist for the method to succeed.

Incremental processing is not supported for ID mapping workflows.

Parameters:

  • workflow_name (EntityName) –

    The name of the workflow.

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

    A description of the workflow.

  • input_source_config (IdMappingWorkflowInputSourceConfig) –

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

  • output_source_config (Optional[IdMappingWorkflowOutputSourceConfig], default: None ) –

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

  • id_mapping_techniques (IdMappingTechniques) –

    An object which defines the ID mapping technique and any additional configurations.

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

    The incremental run configuration for the update ID mapping workflow.

  • role_arn (Optional[IdMappingRoleArn], default: None ) –

    The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.

Raises:

Source code in docs_src/capo_entityresolution/_services/entity_resolution.py
def update_id_mapping_workflow(
    self,
    workflow_name: "capo_entityresolution.types.entity_name.EntityName",
    input_source_config: "capo_entityresolution.types.id_mapping_workflow_input_source_config.IdMappingWorkflowInputSourceConfig",
    id_mapping_techniques: "capo_entityresolution.types.id_mapping_techniques.IdMappingTechniques",
    *,
    config_overrides: Optional[EntityResolutionClientConfig] = None,
    description: Optional[
        "capo_entityresolution.types.description.Description"
    ] = None,
    output_source_config: Optional[
        "capo_entityresolution.types.id_mapping_workflow_output_source_config.IdMappingWorkflowOutputSourceConfig"
    ] = None,
    incremental_run_config: Optional[
        "capo_entityresolution.types.id_mapping_incremental_run_config.IdMappingIncrementalRunConfig"
    ] = None,
    role_arn: Optional[
        "capo_entityresolution.types.id_mapping_role_arn.IdMappingRoleArn"
    ] = None,
) -> "capo_entityresolution.types.update_id_mapping_workflow_output.UpdateIdMappingWorkflowOutput":
    """<p>Updates an existing <code>IdMappingWorkflow</code>. This method is identical to CreateIdMappingWorkflow, except it uses an HTTP <code>PUT</code> request instead of a <code>POST</code> request, and the <code>IdMappingWorkflow</code> must already exist for the method to succeed.</p> <important> <p>Incremental processing is not supported for ID mapping workflows. </p> </important>

    Args:
        workflow_name: <p>The name of the workflow.</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> and <code>KMSArn</code>.</p>
        id_mapping_techniques: <p>An object which defines the ID mapping technique and any additional configurations.</p>
        incremental_run_config: <p> The incremental run configuration for the update ID mapping workflow.</p>
        role_arn: <p>The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf.</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_id_mapping_workflow_input.UpdateIdMappingWorkflowInput]",
    ) -> OperationResponse[
        "capo_entityresolution.types.update_id_mapping_workflow_output.UpdateIdMappingWorkflowOutput"
    ]:
        import capo_entityresolution._operations.aws_venice_service.update_id_mapping_workflow

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateIdMappingWorkflow")
    )
    input_: capo_entityresolution.types.update_id_mapping_workflow_input.UpdateIdMappingWorkflowInput = {
        "workflow_name": workflow_name,
        "input_source_config": input_source_config,
        "id_mapping_techniques": id_mapping_techniques,
    }
    if description is not None:
        input_["description"] = description
    if output_source_config is not None:
        input_["output_source_config"] = output_source_config
    if incremental_run_config is not None:
        input_["incremental_run_config"] = incremental_run_config
    if role_arn is not None:
        input_["role_arn"] = role_arn

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