Skip to content

test_telemetry_pipeline

test_telemetry_pipeline(
    records: Records,
    configuration: TelemetryPipelineConfiguration,
    *,
    config_overrides: Optional[ObservabilityAdminClientConfig] = None,
    signal_type: Optional[SignalType] = None,
) -> TestTelemetryPipelineOutput

Tests a pipeline configuration with sample records to validate data processing before deployment. This operation helps ensure your pipeline configuration works as expected.

Parameters:

  • records (Records) –

    The sample records to process through the pipeline configuration for testing purposes.

  • configuration (TelemetryPipelineConfiguration) –

    The pipeline configuration to test with the provided sample records.

  • signal_type (Optional[SignalType], default: None ) –

    The type of telemetry signal to test. If not specified, defaults to log processing.

Raises:

Source code in docs_src/capo_observabilityadmin/_services/observability_admin.py
def test_telemetry_pipeline(
    self,
    records: "capo_observabilityadmin.types.records.Records",
    configuration: "capo_observabilityadmin.types.telemetry_pipeline_configuration.TelemetryPipelineConfiguration",
    *,
    config_overrides: Optional[ObservabilityAdminClientConfig] = None,
    signal_type: Optional[
        "capo_observabilityadmin.types.signal_type.SignalType"
    ] = None,
) -> "capo_observabilityadmin.types.test_telemetry_pipeline_output.TestTelemetryPipelineOutput":
    """<p>Tests a pipeline configuration with sample records to validate data processing before deployment. This operation helps ensure your pipeline configuration works as expected. </p>

    Args:
        records: <p>The sample records to process through the pipeline configuration for testing purposes.</p>
        configuration: <p>The pipeline configuration to test with the provided sample records.</p>
        signal_type: <p>The type of telemetry signal to test. If not specified, defaults to log processing.</p>

    Raises:
        capo_observabilityadmin.errors.access_denied_exception.AccessDeniedException: <p> Indicates you don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html">Access management for Amazon Web Services resources</a> in the IAM user guide. </p>
        capo_observabilityadmin.errors.internal_server_exception.InternalServerException: <p> Indicates the request has failed to process because of an unknown server error, exception, or failure. </p>
        capo_observabilityadmin.errors.too_many_requests_exception.TooManyRequestsException: <p> The request throughput limit was exceeded. </p>
        capo_observabilityadmin.errors.validation_exception.ValidationException: <p> Indicates input validation failed. Check your request parameters and retry the request. </p>
        capo_observabilityadmin.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_observabilityadmin.types.test_telemetry_pipeline_input.TestTelemetryPipelineInput]",
    ) -> OperationResponse[
        "capo_observabilityadmin.types.test_telemetry_pipeline_output.TestTelemetryPipelineOutput"
    ]:
        import capo_observabilityadmin._operations.observability_admin.test_telemetry_pipeline

        output, http_response = (
            capo_observabilityadmin._operations.observability_admin.test_telemetry_pipeline.test_telemetry_pipeline(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("TestTelemetryPipeline")
    )
    input_: capo_observabilityadmin.types.test_telemetry_pipeline_input.TestTelemetryPipelineInput = {
        "records": records,
        "configuration": configuration,
    }
    if signal_type is not None:
        input_["signal_type"] = signal_type

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