blob: da6dcb555ef26a0465b66942c24f03bf04a175ec [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
~
-->
<!-- Elements added to main will be displayed on all pages -->
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Python library for Apache StreamPipes">
<meta name="author" content="Apache Software Foundation (ASF)">
<link rel="canonical" href="https://streampipes.apache.org/docs/docs/python/latest/latest/reference/endpoint/api/data_lake_measure/">
<link rel="prev" href="../../exceptions/">
<link rel="next" href="../data_stream/">
<link rel="icon" href="https://streampipes.apache.org/img/favicon/favicon.png">
<meta name="generator" content="mkdocs-1.5.1, mkdocs-material-9.1.3">
<title>Data lake measure - Apache StreamPipes Python</title>
<link rel="stylesheet" href="../../../../assets/stylesheets/main.c4a75a56.min.css">
<link rel="stylesheet" href="../../../../assets/stylesheets/palette.a0c5b2b5.min.css">
<link rel="stylesheet" href="../../../../assets/_mkdocstrings.css">
<link rel="stylesheet" href="../../../../stylesheets/extra.css">
<script>__md_scope=new URL("../../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
~
-->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
/* Measure a visit to flink.apache.org and nightlies.apache.org/flink as the same visit */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function () {
var u = "//analytics.apache.org/";
_paq.push(['setTrackerUrl', u + 'matomo.php']);
_paq.push(['setSiteId', '35']);
var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
g.async = true;
g.src = u + 'matomo.js';
s.parentNode.insertBefore(g, s);
})();
</script>
<script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="" data-md-color-accent="">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#streampipes.endpoint.api.data_lake_measure" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
</div>
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="https://streampipes.apache.org/" title="Apache StreamPipes Python" class="md-header__button md-logo" aria-label="Apache StreamPipes Python" data-md-component="logo">
<img src="https://streampipes.apache.org/img/sp-logo-white-right.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Apache StreamPipes Python
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Data lake measure
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="" data-md-color-accent="" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 0-7 7c0 2.38 1.19 4.47 3 5.74V17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2.26c1.81-1.27 3-3.36 3-5.74a7 7 0 0 0-7-7M9 21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1H9v1Z"/></svg>
</label>
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="" data-md-color-accent="" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7M9 21v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m3-17a5 5 0 0 0-5 5c0 2.05 1.23 3.81 3 4.58V16h4v-2.42c1.77-.77 3-2.53 3-4.58a5 5 0 0 0-5-5Z"/></svg>
</label>
</form>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/apache/streampipes" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
apache/streampipes
</div>
</a>
</div>
</nav>
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../../../.." class="md-tabs__link">
🏡 Home
</a>
</li>
<li class="md-tabs__item">
<a href="../../../../getting-started/first-steps/" class="md-tabs__link">
🚀 Getting Started
</a>
</li>
<li class="md-tabs__item">
<a href="../../../../tutorials/1-introduction-to-streampipes-python-client/" class="md-tabs__link">
🤓 Tutorials
</a>
</li>
<li class="md-tabs__item">
<a href="../../../client/client/" class="md-tabs__link md-tabs__link--active">
📚 Reference
</a>
</li>
</ul>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="https://streampipes.apache.org/" title="Apache StreamPipes Python" class="md-nav__button md-logo" aria-label="Apache StreamPipes Python" data-md-component="logo">
<img src="https://streampipes.apache.org/img/sp-logo-white-right.png" alt="logo">
</a>
Apache StreamPipes Python
</label>
<div class="md-nav__source">
<a href="https://github.com/apache/streampipes" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
apache/streampipes
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../.." class="md-nav__link">
🏡 Home
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
🚀 Getting Started
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
🚀 Getting Started
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../getting-started/first-steps/" class="md-nav__link">
First Steps
</a>
</li>
<li class="md-nav__item">
<a href="../../../../getting-started/developing/" class="md-nav__link">
Developing & Contributing
</a>
</li>
<li class="md-nav__item">
<a href="../../../../getting-started/quickstart/" class="md-nav__link">
Quickstart
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
🤓 Tutorials
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
🤓 Tutorials
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../tutorials/1-introduction-to-streampipes-python-client/" class="md-nav__link">
Introduction to StreamPipes Python
</a>
</li>
<li class="md-nav__item">
<a href="../../../../tutorials/2-extracting-data-from-the-streampipes-data-lake/" class="md-nav__link">
Extracting Data from the StreamPipes data lake
</a>
</li>
<li class="md-nav__item">
<a href="../../../../tutorials/3-getting-live-data-from-the-streampipes-data-stream/" class="md-nav__link">
Getting live data from the StreamPipes data stream
</a>
</li>
<li class="md-nav__item">
<a href="../../../../tutorials/4-using-online-machine-learning-on-a-streampipes-data-stream/" class="md-nav__link">
Using Online Machine Learning on a StreamPipes data stream
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
📚 Reference
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
📚 Reference
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_1" >
<label class="md-nav__link" for="__nav_4_1" id="__nav_4_1_label" tabindex="0">
Client
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_1">
<span class="md-nav__icon md-icon"></span>
Client
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../client/client/" class="md-nav__link">
Client
</a>
</li>
<li class="md-nav__item">
<a href="../../../client/config/" class="md-nav__link">
Config
</a>
</li>
<li class="md-nav__item">
<a href="../../../client/credential_provider/" class="md-nav__link">
Credential provider
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" checked>
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
Endpoint
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Endpoint
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../endpoint/" class="md-nav__link">
Endpoint
</a>
</li>
<li class="md-nav__item">
<a href="../../exceptions/" class="md-nav__link">
Exceptions
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2_3" checked>
<label class="md-nav__link" for="__nav_4_2_3" id="__nav_4_2_3_label" tabindex="0">
Api
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_2_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4_2_3">
<span class="md-nav__icon md-icon"></span>
Api
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
Data lake measure
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
Data lake measure
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure" class="md-nav__link">
streampipes.endpoint.api.data_lake_measure
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.DataLakeMeasureEndpoint" class="md-nav__link">
DataLakeMeasureEndpoint
</a>
<nav class="md-nav" aria-label="DataLakeMeasureEndpoint">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.DataLakeMeasureEndpoint.get" class="md-nav__link">
get()
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig" class="md-nav__link">
MeasurementGetQueryConfig
</a>
<nav class="md-nav" aria-label="MeasurementGetQueryConfig">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig.Config" class="md-nav__link">
Config
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig.build_query_string" class="md-nav__link">
build_query_string()
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.StreamPipesQueryValidationError" class="md-nav__link">
StreamPipesQueryValidationError
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../data_stream/" class="md-nav__link">
Data stream
</a>
</li>
<li class="md-nav__item">
<a href="../version/" class="md-nav__link">
Version
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
Function zoo
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Function zoo
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../function_zoo/river_function/" class="md-nav__link">
River function
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
Functions
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Functions
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../functions/function_handler/" class="md-nav__link">
Function handler
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/registration/" class="md-nav__link">
Registration
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/streampipes_function/" class="md-nav__link">
Streampipes function
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4_4" >
<label class="md-nav__link" for="__nav_4_4_4" id="__nav_4_4_4_label" tabindex="0">
Broker
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4_4">
<span class="md-nav__icon md-icon"></span>
Broker
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../functions/broker/broker/" class="md-nav__link">
Broker
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/broker/broker_handler/" class="md-nav__link">
Broker handler
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/broker/consumer/" class="md-nav__link">
Consumer
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/broker/output_collector/" class="md-nav__link">
Output collector
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/broker/publisher/" class="md-nav__link">
Publisher
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4_4_6" >
<label class="md-nav__link" for="__nav_4_4_4_6" id="__nav_4_4_4_6_label" tabindex="0">
Kafka
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_4_4_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4_4_6">
<span class="md-nav__icon md-icon"></span>
Kafka
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../functions/broker/kafka/kafka_consumer/" class="md-nav__link">
Kafka consumer
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/broker/kafka/kafka_message_fetcher/" class="md-nav__link">
Kafka message fetcher
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/broker/kafka/kafka_publisher/" class="md-nav__link">
Kafka publisher
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4_4_7" >
<label class="md-nav__link" for="__nav_4_4_4_7" id="__nav_4_4_4_7_label" tabindex="0">
Nats
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_4_4_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4_4_7">
<span class="md-nav__icon md-icon"></span>
Nats
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../functions/broker/nats/nats_consumer/" class="md-nav__link">
Nats consumer
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/broker/nats/nats_publisher/" class="md-nav__link">
Nats publisher
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4_5" >
<label class="md-nav__link" for="__nav_4_4_5" id="__nav_4_4_5_label" tabindex="0">
Utils
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_4_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4_5">
<span class="md-nav__icon md-icon"></span>
Utils
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../functions/utils/async_iter_handler/" class="md-nav__link">
Async iter handler
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/utils/data_stream_context/" class="md-nav__link">
Data stream context
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/utils/data_stream_generator/" class="md-nav__link">
Data stream generator
</a>
</li>
<li class="md-nav__item">
<a href="../../../functions/utils/function_context/" class="md-nav__link">
Function context
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5" >
<label class="md-nav__link" for="__nav_4_5" id="__nav_4_5_label" tabindex="0">
Model
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_5">
<span class="md-nav__icon md-icon"></span>
Model
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../model/common/" class="md-nav__link">
Common
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5_2" >
<label class="md-nav__link" for="__nav_4_5_2" id="__nav_4_5_2_label" tabindex="0">
Container
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_5_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_5_2">
<span class="md-nav__icon md-icon"></span>
Container
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../model/container/data_lake_measures/" class="md-nav__link">
Data lake measures
</a>
</li>
<li class="md-nav__item">
<a href="../../../model/container/data_streams/" class="md-nav__link">
Data streams
</a>
</li>
<li class="md-nav__item">
<a href="../../../model/container/resource_container/" class="md-nav__link">
Resource container
</a>
</li>
<li class="md-nav__item">
<a href="../../../model/container/versions/" class="md-nav__link">
Versions
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5_3" >
<label class="md-nav__link" for="__nav_4_5_3" id="__nav_4_5_3_label" tabindex="0">
Resource
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_5_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_5_3">
<span class="md-nav__icon md-icon"></span>
Resource
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../model/resource/data_lake_measure/" class="md-nav__link">
Data lake measure
</a>
</li>
<li class="md-nav__item">
<a href="../../../model/resource/data_series/" class="md-nav__link">
Data series
</a>
</li>
<li class="md-nav__item">
<a href="../../../model/resource/data_stream/" class="md-nav__link">
Data stream
</a>
</li>
<li class="md-nav__item">
<a href="../../../model/resource/exceptions/" class="md-nav__link">
Exceptions
</a>
</li>
<li class="md-nav__item">
<a href="../../../model/resource/function_definition/" class="md-nav__link">
Function definition
</a>
</li>
<li class="md-nav__item">
<a href="../../../model/resource/query_result/" class="md-nav__link">
Query result
</a>
</li>
<li class="md-nav__item">
<a href="../../../model/resource/resource/" class="md-nav__link">
Resource
</a>
</li>
<li class="md-nav__item">
<a href="../../../model/resource/version/" class="md-nav__link">
Version
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure" class="md-nav__link">
streampipes.endpoint.api.data_lake_measure
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.DataLakeMeasureEndpoint" class="md-nav__link">
DataLakeMeasureEndpoint
</a>
<nav class="md-nav" aria-label="DataLakeMeasureEndpoint">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.DataLakeMeasureEndpoint.get" class="md-nav__link">
get()
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig" class="md-nav__link">
MeasurementGetQueryConfig
</a>
<nav class="md-nav" aria-label="MeasurementGetQueryConfig">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig.Config" class="md-nav__link">
Config
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig.build_query_string" class="md-nav__link">
build_query_string()
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#streampipes.endpoint.api.data_lake_measure.StreamPipesQueryValidationError" class="md-nav__link">
StreamPipesQueryValidationError
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>Data lake measure</h1>
<div class="doc doc-object doc-module">
<a id="streampipes.endpoint.api.data_lake_measure"></a>
<div class="doc doc-contents first">
<p>Specific implementation of the StreamPipes API's data lake measure endpoints.
This endpoint allows to consume data stored in StreamPipes' data lake.</p>
<div class="doc doc-children">
<div class="doc doc-object doc-class">
<h2 id="streampipes.endpoint.api.data_lake_measure.DataLakeMeasureEndpoint" class="doc doc-heading">
<code>DataLakeMeasureEndpoint</code>
<a href="#streampipes.endpoint.api.data_lake_measure.DataLakeMeasureEndpoint" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><a class="autorefs autorefs-internal" title="streampipes.endpoint.endpoint.APIEndpoint" href="../../endpoint/#streampipes.endpoint.endpoint.APIEndpoint">APIEndpoint</a></code></p>
<p>Implementation of the DataLakeMeasure endpoint.</p>
<p>This endpoint provides an interface to all data stored in the StreamPipes data lake.</p>
<p>Consequently, it allows querying metadata about available data sets (see <code>all()</code> method).
The metadata is returned as an instance of <a class="autorefs autorefs-internal" href="../../../model/container/data_lake_measures/#streampipes.model.container.data_lake_measures.DataLakeMeasures"><code>DataLakeMeasures</code></a>.</p>
<p>In addition, the endpoint provides direct access to the data stored in the data laka by querying a
specific data lake measure using the <code>get()</code> method.</p>
<p><strong>Examples:</strong></p>
<div class="language-python highlight"><pre><span></span><code><span class="kn">from</span> <span class="nn">streampipes.client</span> <span class="kn">import</span> <span class="n">StreamPipesClient</span>
<span class="kn">from</span> <span class="nn">streampipes.client.config</span> <span class="kn">import</span> <span class="n">StreamPipesClientConfig</span>
<span class="kn">from</span> <span class="nn">streampipes.client.credential_provider</span> <span class="kn">import</span> <span class="n">StreamPipesApiKeyCredentials</span>
</code></pre></div>
<div class="language-python highlight"><pre><span></span><code><span class="n">client_config</span> <span class="o">=</span> <span class="n">StreamPipesClientConfig</span><span class="p">(</span>
<span class="n">credential_provider</span><span class="o">=</span><span class="n">StreamPipesApiKeyCredentials</span><span class="p">(</span><span class="n">username</span><span class="o">=</span><span class="s2">&quot;test-user&quot;</span><span class="p">,</span> <span class="n">api_key</span><span class="o">=</span><span class="s2">&quot;api-key&quot;</span><span class="p">),</span>
<span class="n">host_address</span><span class="o">=</span><span class="s2">&quot;localhost&quot;</span><span class="p">,</span>
<span class="n">port</span><span class="o">=</span><span class="mi">8082</span><span class="p">,</span>
<span class="n">https_disabled</span><span class="o">=</span><span class="kc">True</span>
<span class="p">)</span>
<span class="n">client</span> <span class="o">=</span> <span class="n">StreamPipesClient</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">client_config</span><span class="o">=</span><span class="n">client_config</span><span class="p">)</span>
</code></pre></div>
<p><div class="language-text highlight"><pre><span></span><code># get all existing data lake measures from StreamPipes
data_lake_measures = client.dataLakeMeasureApi.all()
# let&#39;s take a look how many we got
len(data_lake_measures)
</code></pre></div>
<div class="language-text highlight"><pre><span></span><code>5
</code></pre></div></p>
<p><div class="language-python highlight"><pre><span></span><code><span class="c1"># Retrieve a specific data lake measure as a pandas DataFrame</span>
<span class="n">flow_rate_pd</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">dataLakeMeasureApi</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">identifier</span><span class="o">=</span><span class="s2">&quot;flow-rate&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">to_pandas</span><span class="p">()</span>
<span class="n">flow_rate_pd</span>
</code></pre></div>
<div class="language-text highlight"><pre><span></span><code> time density mass_flow sensorId sensor_fault_flags temperature volume_flow
0 2023-02-24T16:19:41.472Z 50.872730 3.309556 flowrate02 False 44.448483 5.793138
1 2023-02-24T16:19:41.482Z 47.186588 5.608580 flowrate02 False 40.322033 0.058015
2 2023-02-24T16:19:41.493Z 46.735321 7.692881 flowrate02 False 49.239639 10.283526
3 2023-02-24T16:19:41.503Z 40.169796 3.632898 flowrate02 False 49.933754 6.893441
4 2023-02-24T16:19:41.513Z 49.635124 0.711260 flowrate02 False 50.106617 2.999871
.. ... ... ... ... ... ... ...
995 2023-02-24T16:19:52.927Z 50.057495 1.740114 flowrate02 False 46.558231 1.818237
996 2023-02-24T16:19:52.94Z 41.038895 7.211723 flowrate02 False 48.048622 2.127493
997 2023-02-24T16:19:52.952Z 45.837013 7.770180 flowrate02 False 48.188026 7.892062
998 2023-02-24T16:19:52.965Z 43.389065 4.458602 flowrate02 False 48.280899 5.733892
999 2023-02-24T16:19:52.977Z 44.056030 2.592060 flowrate02 False 47.505951 4.260697
</code></pre></div></p>
<p>As you can see, the returned amount of rows per default is <code>1000</code>.
We can modify this behavior by passing the <code>limit</code> paramter.
<div class="language-python highlight"><pre><span></span><code><span class="n">flow_rate_pd</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">dataLakeMeasureApi</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">identifier</span><span class="o">=</span><span class="s2">&quot;flow-rate&quot;</span><span class="p">,</span> <span class="n">limit</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span><span class="o">.</span><span class="n">to_pandas</span><span class="p">()</span>
<span class="nb">len</span><span class="p">(</span><span class="n">flow_rate_pd</span><span class="p">)</span>
</code></pre></div>
<div class="language-text highlight"><pre><span></span><code>10
</code></pre></div></p>
<p>If we are only interested in the values for <code>density</code>,
<code>columns</code> allows us to select the columns to be returned:
<div class="language-python highlight"><pre><span></span><code><span class="n">flow_rate_pd</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">dataLakeMeasureApi</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">identifier</span><span class="o">=</span><span class="s2">&quot;flow-rate&quot;</span><span class="p">,</span> <span class="n">columns</span><span class="o">=</span><span class="s1">&#39;density&#39;</span><span class="p">,</span> <span class="n">limit</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span><span class="o">.</span><span class="n">to_pandas</span><span class="p">()</span>
<span class="n">flow_rate_pd</span>
</code></pre></div>
<div class="language-text highlight"><pre><span></span><code> time density
0 2023-02-24T16:19:41.472Z 50.872730
1 2023-02-24T16:19:41.482Z 47.186588
2 2023-02-24T16:19:41.493Z 46.735321
</code></pre></div></p>
<p>This is only a subset of the available query parameters,
find them at <a class="autorefs autorefs-internal" href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig">MeasurementGetQueryConfig</a>.</p>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="streampipes.endpoint.api.data_lake_measure.DataLakeMeasureEndpoint.get" class="doc doc-heading">
<code class="highlight language-python"><span class="n">get</span><span class="p">(</span><span class="n">identifier</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
<a href="#streampipes.endpoint.api.data_lake_measure.DataLakeMeasureEndpoint.get" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Queries the specified data lake measure from the API.</p>
<p>By default, the maximum number of returned records is 1000.
This behaviour can be influenced by passing the parameter <code>limit</code> with a different value
(see <a class="autorefs autorefs-internal" href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig">MeasurementGetQueryConfig</a>).</p>
<table>
<thead>
<tr>
<th><b>PARAMETER</b></th>
<th><b> DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>identifier</code></td>
<td class="doc-param-details">
<div class="doc-md-description">
<p>The identifier of the data lake measure to be queried.</p>
</div>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code>str</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>**kwargs</code></td>
<td class="doc-param-details">
<div class="doc-md-description">
<p>keyword arguments can be used to provide additional query parameters.
The available query parameters are defined by the
<a class="autorefs autorefs-internal" href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig">MeasurementGetQueryConfig</a>.</p>
</div>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Optional">Optional</span>[<span title="typing.Dict">Dict</span>[str, <span title="typing.Any">Any</span>]]</code>
</span>
<span class="doc-param-default">
<b>DEFAULT:</b>
<code>{}</code>
</span>
</p>
</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th><b>RETURNS</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<code>measurement</code>
</td>
<td class="doc-returns-details">
<div class="doc-md-description">
<p>the specified data lake measure</p>
</div>
<p>
<span class="doc-returns-annotation">
<b>TYPE:</b>
<code><a class="autorefs autorefs-internal" title="streampipes.model.container.DataLakeMeasures" href="../../../model/container/data_lake_measures/#streampipes.model.container.data_lake_measures.DataLakeMeasures">DataLakeMeasures</a></code>
</span>
</p>
</td>
</tr>
</tbody>
</table>
<p><strong>Examples:</strong></p>
<p>see directly at <a class="autorefs autorefs-internal" href="#streampipes.endpoint.api.data_lake_measure.DataLakeMeasureEndpoint">DataLakeMeasureEndpoint</a>.</p>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-class">
<h2 id="streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig" class="doc doc-heading">
<code>MeasurementGetQueryConfig</code>
<a href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
<p>Config class describing the parameters of the <code>get()</code> method for measurements.</p>
<p>This config class is used to validate the provided query parameters for the GET endpoint of measurements.
Additionally, it takes care of the conversion to a proper HTTP query string.
Thereby, parameter names are adapted to the naming of the StreamPipes API,
for which <a href="https://docs.pydantic.dev/usage/model_config/#options">Pydantic aliases</a> are used.</p>
<table>
<thead>
<tr>
<th><b>ATTRIBUTE</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>columns</code></td>
<td class="doc-attribute-details">
<div class="doc-md-description">
<p>A comma separated list of column names (e.g., <code>time,value</code>)<br>
If provided, the returned data only consists of the given columns.<br>
Please be aware that the column <code>time</code> as an index is always included.</p>
</div>
<p>
<span class="doc-attribute-annotation">
<b>TYPE:</b>
<code><span title="typing.Optional">Optional</span>[<span title="typing.List">List</span>[str]]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>end_date</code></td>
<td class="doc-attribute-details">
<div class="doc-md-description">
<p>Restricts queried data to be younger than the specified time.</p>
</div>
<p>
<span class="doc-attribute-annotation">
<b>TYPE:</b>
<code><span title="typing.Optional">Optional</span>[<span title="datetime.datetime">datetime</span>]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>limit</code></td>
<td class="doc-attribute-details">
<div class="doc-md-description">
<p>Amount of records returned at maximum (default: <code>1000</code>) <br>
This needs to be at least <code>1</code></p>
</div>
<p>
<span class="doc-attribute-annotation">
<b>TYPE:</b>
<code><span title="typing.Optional">Optional</span>[int]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>offset</code></td>
<td class="doc-attribute-details">
<div class="doc-md-description">
<p>Offset to be applied to returned data <br>
This needs to be at least <code>0</code></p>
</div>
<p>
<span class="doc-attribute-annotation">
<b>TYPE:</b>
<code><span title="typing.Optional">Optional</span>[int]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>order</code></td>
<td class="doc-attribute-details">
<div class="doc-md-description">
<p>Ordering of query results <br>
Allowed values: <code>ASC</code> and <code>DESC</code> (default: <code>ASC</code>)</p>
</div>
<p>
<span class="doc-attribute-annotation">
<b>TYPE:</b>
<code><span title="typing.Optional">Optional</span>[str]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>page_no</code></td>
<td class="doc-attribute-details">
<div class="doc-md-description">
<p>Page number used for paging operation <br>
This needs to be at least <code>1</code></p>
</div>
<p>
<span class="doc-attribute-annotation">
<b>TYPE:</b>
<code><span title="typing.Optional">Optional</span>[int]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>start_date</code></td>
<td class="doc-attribute-details">
<div class="doc-md-description">
<p>Restricts queried data to be older than the specified time</p>
</div>
<p>
<span class="doc-attribute-annotation">
<b>TYPE:</b>
<code><span title="typing.Optional">Optional</span>[<span title="datetime.datetime">datetime</span>]</code>
</span>
</p>
</td>
</tr>
</tbody>
</table>
<div class="doc doc-children">
<div class="doc doc-object doc-class">
<h3 id="streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig.Config" class="doc doc-heading">
<code>Config</code>
<a href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig.Config" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Pydantic Config class</p>
<div class="doc doc-children">
</div>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig.build_query_string" class="doc doc-heading">
<code class="highlight language-python"><span class="n">build_query_string</span><span class="p">()</span></code>
<a href="#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig.build_query_string" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Builds a HTTP query string for the config.</p>
<p>This method returns an HTTP query string for the invoking config.
It follows the following structure <code>?param1=value1&amp;param2=value2...</code>.
This query string is not an entire URL, instead it needs to appended to an API path.</p>
<table>
<thead>
<tr>
<th><b>RETURNS</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<code>query_param_string</code>
</td>
<td class="doc-returns-details">
<div class="doc-md-description">
<p>HTTP query params string (<code>?param1=value1&amp;param2=value2...</code>)</p>
</div>
<p>
<span class="doc-returns-annotation">
<b>TYPE:</b>
<code>str</code>
</span>
</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-class">
<h2 id="streampipes.endpoint.api.data_lake_measure.StreamPipesQueryValidationError" class="doc doc-heading">
<code>StreamPipesQueryValidationError</code>
<a href="#streampipes.endpoint.api.data_lake_measure.StreamPipesQueryValidationError" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code>Exception</code></p>
<p>A custom exception to be raised when the validation of query parameter
causes an error.</p>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<!-- Copyright and theme information -->
<div class="md-footer-copyright">
<div class="md-footer-copyright__highlight">
Apache License 2.0
</div>
powered by
<a href="https://www.mkdocs.org" title="MkDocs">MkDocs</a>
and
<a href="https://squidfunk.github.io/mkdocs-material/"
title="Material for MkDocs">
Material for MkDocs</a>
</div>
<div class="md-social">
<a href="https://github.com/apache/streampipes" target="_blank" rel="noopener" title="github.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.tabs", "navigation.tabs.sticky", "navigation.instant", "navigation.indexes", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.208ed371.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../../assets/javascripts/bundle.efa0ade1.min.js"></script>
</body>
</html>