Skip to content

describe_search async

describe_search(
    workspace_name: WorkspaceName,
    search_id: SearchId,
    *,
    config_overrides: Optional[AsyncIoTSiteWiseClientConfig] = None,
) -> DescribeSearchResponse

Returns the current status and metadata of a single search, including the query that was submitted, the search type, and — when the search has failed — the reason. Use this to poll a search started with StartSearch until it reaches a terminal status (SUCCEEDED or FAILED).

Parameters:

  • workspace_name (WorkspaceName) –

    The name of the workspace the search belongs to.

  • search_id (SearchId) –

    The identifier of the search to describe.

Raises:

  • AccessDeniedException –

    Access is denied.

  • InternalFailureException –

    IoT SiteWise can't process your request right now. Try again later.

  • InvalidRequestException –

    The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters. Check your request and try again.

  • ResourceNotFoundException –

    The requested resource can't be found.

  • ThrottlingException –

    Your request exceeded a rate limit. For example, you might have exceeded the number of IoT SiteWise assets that can be created per second, the allowed number of messages per second, and so on.

    For more information, see Quotas in the IoT SiteWise User Guide.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_iotsitewise/_services/async_io_t_site_wise.py
async def describe_search(
    self,
    workspace_name: "capo_iotsitewise.types.workspace_name.WorkspaceName",
    search_id: "capo_iotsitewise.types.search_id.SearchId",
    *,
    config_overrides: Optional[AsyncIoTSiteWiseClientConfig] = None,
) -> "capo_iotsitewise.types.describe_search_response.DescribeSearchResponse":
    """<p>Returns the current status and metadata of a single search, including the query that was submitted, the search type, and — when the search has failed — the reason. Use this to poll a search started with <code>StartSearch</code> until it reaches a terminal status (<code>SUCCEEDED</code> or <code>FAILED</code>).</p>

    Args:
        workspace_name: <p>The name of the workspace the search belongs to.</p>
        search_id: <p>The identifier of the search to describe.</p>

    Raises:
        capo_iotsitewise.errors.access_denied_exception.AccessDeniedException: <p>Access is denied.</p>
        capo_iotsitewise.errors.internal_failure_exception.InternalFailureException: <p>IoT SiteWise can't process your request right now. Try again later.</p>
        capo_iotsitewise.errors.invalid_request_exception.InvalidRequestException: <p>The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters. Check your request and try again.</p>
        capo_iotsitewise.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource can't be found.</p>
        capo_iotsitewise.errors.throttling_exception.ThrottlingException: <p>Your request exceeded a rate limit. For example, you might have exceeded the number of IoT SiteWise assets that can be created per second, the allowed number of messages per second, and so on.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html">Quotas</a> in the <i>IoT SiteWise User Guide</i>.</p>
        capo_iotsitewise.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_iotsitewise.types.describe_search_request.DescribeSearchRequest]",
    ) -> AsyncOperationResponse[
        "capo_iotsitewise.types.describe_search_response.DescribeSearchResponse"
    ]:
        import capo_iotsitewise._operations.aws_io_t_site_wise.describe_search

        (
            output,
            http_response,
        ) = await capo_iotsitewise._operations.aws_io_t_site_wise.describe_search.async_describe_search(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_iotsitewise.types.describe_search_response.DescribeSearchResponse",
    ) -> dict[str, Any]:
        import capo_iotsitewise.types.describe_search_response

        return capo_iotsitewise.types.describe_search_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("DescribeSearch", redact_output=_redact_output),
    )
    input_: capo_iotsitewise.types.describe_search_request.DescribeSearchRequest = {
        "workspace_name": workspace_name,
        "search_id": search_id,
    }

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