Updates a schema mapping.
A schema is immutable if it is being used by a workflow. Therefore, you can't update a schema mapping if it's associated with a workflow.
Parameters:
-
schema_name
(EntityName)
–
The name of the schema. There can't be multiple SchemaMappings with the same name.
-
description
(Optional[Description], default:
None
)
–
A description of the schema.
-
mapped_input_fields
(SchemaInputAttributes)
–
A list of MappedInputFields. Each MappedInputField corresponds to a column the source data table, and contains column name plus additional information that Entity Resolution uses for matching.
Raises:
-
AccessDeniedException
–
You do not have sufficient access to perform this action.
-
ConflictException
–
The request couldn't be processed because of conflict in the current state of the resource. Example: Workflow already exists, Schema already exists, Workflow is currently running, etc.
-
InternalServerException
–
This exception occurs when there is an internal failure in the Entity Resolution service.
-
ResourceNotFoundException
–
The resource couldn't be found.
-
ThrottlingException
–
The request was denied due to request throttling.
-
ValidationException
–
The input fails to satisfy the constraints specified by Entity Resolution.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_entityresolution/_services/entity_resolution.py
| def update_schema_mapping(
self,
schema_name: "capo_entityresolution.types.entity_name.EntityName",
mapped_input_fields: "capo_entityresolution.types.schema_input_attributes.SchemaInputAttributes",
*,
config_overrides: Optional[EntityResolutionClientConfig] = None,
description: Optional[
"capo_entityresolution.types.description.Description"
] = None,
) -> "capo_entityresolution.types.update_schema_mapping_output.UpdateSchemaMappingOutput":
"""<p>Updates a schema mapping.</p> <note> <p>A schema is immutable if it is being used by a workflow. Therefore, you can't update a schema mapping if it's associated with a workflow. </p> </note>
Args:
schema_name: <p>The name of the schema. There can't be multiple <code>SchemaMappings</code> with the same name.</p>
description: <p>A description of the schema.</p>
mapped_input_fields: <p>A list of <code>MappedInputFields</code>. Each <code>MappedInputField</code> corresponds to a column the source data table, and contains column name plus additional information that Entity Resolution uses for matching.</p>
Raises:
capo_entityresolution.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action. </p>
capo_entityresolution.errors.conflict_exception.ConflictException: <p>The request couldn't be processed because of conflict in the current state of the resource. Example: Workflow already exists, Schema already exists, Workflow is currently running, etc. </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_schema_mapping_input.UpdateSchemaMappingInput]",
) -> OperationResponse[
"capo_entityresolution.types.update_schema_mapping_output.UpdateSchemaMappingOutput"
]:
import capo_entityresolution._operations.aws_venice_service.update_schema_mapping
output, http_response = (
capo_entityresolution._operations.aws_venice_service.update_schema_mapping.update_schema_mapping(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("UpdateSchemaMapping")
)
input_: capo_entityresolution.types.update_schema_mapping_input.UpdateSchemaMappingInput = {
"schema_name": schema_name,
"mapped_input_fields": mapped_input_fields,
}
if description is not None:
input_["description"] = description
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|