Skip to content

execute_query

execute_query(
    query_statement: QueryStatement,
    *,
    config_overrides: Optional[IoTSiteWiseClientConfig] = None,
    next_token: Optional[ExecuteQueryNextToken] = None,
    max_results: Optional[ExecuteQueryMaxResults] = None,
    client_token: Optional[ClientToken] = None,
) -> ExecuteQueryResponse

Run SQL queries to retrieve metadata and time-series data from asset models, assets, measurements, metrics, transforms, and aggregates.

Parameters:

  • query_statement (QueryStatement) –

    The IoT SiteWise query statement.

  • next_token (Optional[ExecuteQueryNextToken], default: None ) –

    The string that specifies the next page of results.

  • max_results (Optional[ExecuteQueryMaxResults], default: None ) –

    The maximum number of results to return at one time.

    • Minimum is 1

    • Maximum is 20000

    • Default is 20000

  • client_token (Optional[ClientToken], default: None ) –

    A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

Raises:

Source code in docs_src/capo_iotsitewise/_services/io_t_site_wise.py
def execute_query(
    self,
    query_statement: "capo_iotsitewise.types.query_statement.QueryStatement",
    *,
    config_overrides: Optional[IoTSiteWiseClientConfig] = None,
    next_token: Optional[
        "capo_iotsitewise.types.execute_query_next_token.ExecuteQueryNextToken"
    ] = None,
    max_results: Optional[
        "capo_iotsitewise.types.execute_query_max_results.ExecuteQueryMaxResults"
    ] = None,
    client_token: Optional[
        "capo_iotsitewise.types.client_token.ClientToken"
    ] = None,
) -> "capo_iotsitewise.types.execute_query_response.ExecuteQueryResponse":
    """<p>Run SQL queries to retrieve metadata and time-series data from asset models, assets, measurements, metrics, transforms, and aggregates.</p>

    Args:
        query_statement: <p>The IoT SiteWise query statement.</p>
        next_token: <p>The string that specifies the next page of results.</p>
        max_results: <p>The maximum number of results to return at one time.</p> <ul> <li> <p>Minimum is 1</p> </li> <li> <p>Maximum is 20000</p> </li> <li> <p>Default is 20000</p> </li> </ul>
        client_token: <p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</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.query_timeout_exception.QueryTimeoutException: <p>The query timed out.</p>
        capo_iotsitewise.errors.service_unavailable_exception.ServiceUnavailableException: <p>The requested service is unavailable.</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.validation_exception.ValidationException: <p>The validation failed for this query.</p>
        capo_iotsitewise.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_iotsitewise.types.execute_query_request.ExecuteQueryRequest]",
    ) -> OperationResponse[
        "capo_iotsitewise.types.execute_query_response.ExecuteQueryResponse"
    ]:
        import capo_iotsitewise._operations.aws_io_t_site_wise.execute_query

        output, http_response = (
            capo_iotsitewise._operations.aws_io_t_site_wise.execute_query.execute_query(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_iotsitewise.types.execute_query_request.ExecuteQueryRequest",
    ) -> dict[str, Any]:
        import capo_iotsitewise.types.execute_query_request

        return capo_iotsitewise.types.execute_query_request.redact_sensitive(input_)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("ExecuteQuery", redact_input=_redact_input),
    )
    input_: capo_iotsitewise.types.execute_query_request.ExecuteQueryRequest = {
        "query_statement": query_statement
    }
    if next_token is not None:
        input_["next_token"] = next_token
    if max_results is not None:
        input_["max_results"] = max_results
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

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