Skip to content

publish_data_quality_result_v2 async

publish_data_quality_result_v2(
    dimensions: PublishDataQualityResultDimensions,
    score: GenericBoundedDouble,
    rule_results: DataQualityRuleResults,
    evaluation_context: NameString,
    *,
    config_overrides: Optional[AsyncGlueClientConfig] = None,
    tags: Optional[PublishDataQualityResultTags] = None,
    execution_started_on: Optional[Timestamp] = None,
    execution_completed_on: Optional[Timestamp] = None,
    analyzer_results: Optional[DataQualityAnalyzerResults] = None,
    observations: Optional[DataQualityObservations] = None,
    aggregated_metrics: Optional[DataQualityAggregatedMetrics] = None,
    statistics: Optional[StatisticSummaryList] = None,
    run_configuration: Optional[DataQualityConfigurationV2] = None,
    client_token: Optional[ClientTokenString] = None,
    descriptors: Optional[PublishDataQualityResultDescriptors] = None,
    ruleset_name: Optional[HashString] = None,
    data_quality_security_configuration: Optional[NameString] = None,
    telemetry: Optional[DataQualityTelemetry] = None,
) -> PublishDataQualityResultV2Response

This operation is intended for internal use. Do not call it directly.

AWS Glue Data Quality uses this operation to publish a data quality result.

Parameters:

Raises:

Source code in docs_src/capo_glue/_services/async_glue.py
async def publish_data_quality_result_v2(
    self,
    dimensions: "capo_glue.types.publish_data_quality_result_dimensions.PublishDataQualityResultDimensions",
    score: "capo_glue.types.generic_bounded_double.GenericBoundedDouble",
    rule_results: "capo_glue.types.data_quality_rule_results.DataQualityRuleResults",
    evaluation_context: "capo_glue.types.name_string.NameString",
    *,
    config_overrides: Optional[AsyncGlueClientConfig] = None,
    tags: Optional[
        "capo_glue.types.publish_data_quality_result_tags.PublishDataQualityResultTags"
    ] = None,
    execution_started_on: Optional["capo_glue.types.timestamp.Timestamp"] = None,
    execution_completed_on: Optional["capo_glue.types.timestamp.Timestamp"] = None,
    analyzer_results: Optional[
        "capo_glue.types.data_quality_analyzer_results.DataQualityAnalyzerResults"
    ] = None,
    observations: Optional[
        "capo_glue.types.data_quality_observations.DataQualityObservations"
    ] = None,
    aggregated_metrics: Optional[
        "capo_glue.types.data_quality_aggregated_metrics.DataQualityAggregatedMetrics"
    ] = None,
    statistics: Optional[
        "capo_glue.types.statistic_summary_list.StatisticSummaryList"
    ] = None,
    run_configuration: Optional[
        "capo_glue.types.data_quality_configuration_v2.DataQualityConfigurationV2"
    ] = None,
    client_token: Optional[
        "capo_glue.types.client_token_string.ClientTokenString"
    ] = None,
    descriptors: Optional[
        "capo_glue.types.publish_data_quality_result_descriptors.PublishDataQualityResultDescriptors"
    ] = None,
    ruleset_name: Optional["capo_glue.types.hash_string.HashString"] = None,
    data_quality_security_configuration: Optional[
        "capo_glue.types.name_string.NameString"
    ] = None,
    telemetry: Optional[
        "capo_glue.types.data_quality_telemetry.DataQualityTelemetry"
    ] = None,
) -> "capo_glue.types.publish_data_quality_result_v2_response.PublishDataQualityResultV2Response":
    """<note> <p>This operation is intended for internal use. Do not call it directly.</p> </note> <p>AWS Glue Data Quality uses this operation to publish a data quality result.</p>

    Args:
        dimensions: <p>The dimensions for the result.</p>
        tags: <p>The tags for the result.</p>
        execution_started_on: <p>The time execution started for the result.</p>
        execution_completed_on: <p>The time execution completed for the result.</p>
        score: <p>The score for the result.</p>
        rule_results: <p>The rule level results.</p>
        analyzer_results: <p>The analyzer level results.</p>
        observations: <p>The observations for the result.</p>
        aggregated_metrics: <p>The aggregated metrics for the result.</p>
        statistics: <p>The statistics for the result.</p>
        run_configuration: <p>The run configuration for the result.</p>
        client_token: <p>The client token for the request.</p>
        evaluation_context: <p>The evaluation context for the result.</p>
        descriptors: <p>The descriptors for the result.</p>
        ruleset_name: <p>The ruleset name for the result.</p>
        data_quality_security_configuration: <p>The security configuration for the result.</p>

    Raises:
        capo_glue.errors.idempotent_parameter_mismatch_exception.IdempotentParameterMismatchException: <p>The same unique identifier was associated with two different records.</p>
        capo_glue.errors.internal_service_exception.InternalServiceException: <p>An internal service error occurred.</p>
        capo_glue.errors.invalid_input_exception.InvalidInputException: <p>The input provided was not valid.</p>
        capo_glue.errors.operation_timeout_exception.OperationTimeoutException: <p>The operation timed out.</p>
        capo_glue.errors.resource_number_limit_exceeded_exception.ResourceNumberLimitExceededException: <p>A resource numerical limit was exceeded.</p>
        capo_glue.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_glue.types.publish_data_quality_result_v2_request.PublishDataQualityResultV2Request]",
    ) -> AsyncOperationResponse[
        "capo_glue.types.publish_data_quality_result_v2_response.PublishDataQualityResultV2Response"
    ]:
        import capo_glue._operations.aws_glue.publish_data_quality_result_v2

        (
            output,
            http_response,
        ) = await capo_glue._operations.aws_glue.publish_data_quality_result_v2.async_publish_data_quality_result_v2(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_glue.types.publish_data_quality_result_v2_request.PublishDataQualityResultV2Request",
    ) -> dict[str, Any]:
        import capo_glue.types.publish_data_quality_result_v2_request

        return (
            capo_glue.types.publish_data_quality_result_v2_request.redact_sensitive(
                input_
            )
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("PublishDataQualityResultV2", redact_input=_redact_input),
    )
    input_: capo_glue.types.publish_data_quality_result_v2_request.PublishDataQualityResultV2Request = {
        "dimensions": dimensions,
        "score": score,
        "rule_results": rule_results,
        "evaluation_context": evaluation_context,
    }
    if tags is not None:
        input_["tags"] = tags
    if execution_started_on is not None:
        input_["execution_started_on"] = execution_started_on
    if execution_completed_on is not None:
        input_["execution_completed_on"] = execution_completed_on
    if analyzer_results is not None:
        input_["analyzer_results"] = analyzer_results
    if observations is not None:
        input_["observations"] = observations
    if aggregated_metrics is not None:
        input_["aggregated_metrics"] = aggregated_metrics
    if statistics is not None:
        input_["statistics"] = statistics
    if run_configuration is not None:
        input_["run_configuration"] = run_configuration
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token
    if descriptors is not None:
        input_["descriptors"] = descriptors
    if ruleset_name is not None:
        input_["ruleset_name"] = ruleset_name
    if data_quality_security_configuration is not None:
        input_["data_quality_security_configuration"] = (
            data_quality_security_configuration
        )
    if telemetry is not None:
        input_["telemetry"] = telemetry

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output