2024-09-17 23:03:00 +02:00

171 lines
10 KiB
HTML

<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed 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 type="text/html" data-help-name="split">
<p>Rozdeľuje správu na sekvenciu správ.</p>
<h3>Vstupy</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">objekt | reťazec | pole | vyrovnávacia pamäť</span></dt>
<dd>Správanie uzla je určené typom <code>msg.payload</code>:
<ul>
<li><b>reťazec</b>/<b>vyrovnávacia pamäť</b> - správa je rozdelená pomocou špecifikovaného znaku (predvolene: <code>\n</code>), sekvencie vyrovnávacej pamäte alebo na pevné dĺžky.</li>
<li><b>pole</b> - správa je rozdelená na jednotlivé prvky poľa alebo na polia pevnej dĺžky.</li>
<li><b>objekt</b> - pre každú dvojicu kľúč/hodnota objektu sa odošle správa.</li>
</ul>
</dd>
</dl>
<h3>Výstupy</h3>
<dl class="message-properties">
<dt>parts<span class="property-type">objekt</span></dt>
<dd>Táto vlastnosť obsahuje informácie o tom, ako bola správa oddelená od pôvodnej správy.
Ak je prenesená do uzla <b>join</b>, sekvencia môže byť znovu zoskupená do jednej správy.
Vlastnosť nasledujúce vlastnosti:
<ul>
<li><code>id</code> - identifikátor pre skupinu správ</li>
<li><code>index</code> - pozícia v rámci skupiny</li>
<li><code>count</code> - ak je známe, celkový počet správ v skupine. Pozri 'režim prenosu' nižšie.</li>
<li><code>type</code> - typ správy - reťazec/pole/objekt/vyrovnávacia pamäť</li>
<li><code>ch</code> - pre reťazec alebo vyrovnávaciu pamäť, údaje použité na rozdelenie správy na reťazec alebo pole bajtov</li>
<li><code>key</code> - pre objekt, kľúč vlastnosti, z ktorej bola táto správa vytvorená. Uzol môže byť nakonfigurovaný tak, aby túto hodnotu tiež kopíroval do iných vlastností správy, ako je napríklad <code>msg.topic</code>.</li>
<li><code>len</code> - dĺžka každej správy pri rozdelení pomocou pevnej hodnoty dĺžky</li>
</ul>
</dd>
</dl>
<h3>Detaily</h3>
<p>Tento uzol uľahčuje vytvorenie toku, ktorý vykonáva bežné akcie na
sekvencii správ pomocou uzla <b>join</b>, ktorý znovu kombinuje
sekvenciu do jednej správy.</p>
<p>Používa vlastnosť <code>msg.parts</code>, aby sledoval jednotlivé časti sekvencie.</p>
<h4>Režim prenosu</h4>
<p>Uzol môže byť tiež použitý na opätovné vysielanie toku správ.
Napríklad sériové zariadenie, ktoré posiela príkazy ukončené novým riadkom,
môže doručiť jednu správu s čiastočným príkazom na svojom konci.
V "režime prenosu" tento uzol rozdelí správu a odošle každý úplný segment.
Ak je na konci čiastočný segment, uzol ho uchová a pridá k ďalšej prijatej správe.
</p>
<p>Pri práci v tomto režime uzol nenastaví <code>msg.parts.count</code>,
pretože nevie, koľko správ čaká v toku.
To znamená, že ho nemožno použiť s uzlom <b>join</b>
v automatickom režime.</p>
</script>
<script type="text/html" data-help-name="join">
<p>Spája sekvencie správ do jednej správy.</p>
<p> dostupné tri režimy:</p>
<dl>
<dt>automatický</dt>
<dd>Keď je spojený s uzlom <b>split</b>, automaticky spojí správy, aby zvrátil rozdelenie, ktoré bolo vykonané.</dd>
<dt>manuálny</dt>
<dd>Spájať sekvencie správ rôznymi spôsobmi.</dd>
<dt>zredukovať sekvenciu</dt>
<dd>Aplikovať výraz na všetky správy v sekvencii, aby sa zredukovali na jednu správu.</dd>
</dl>
<h3>Vstupy</h3>
<dl class="message-properties">
<dt class="optional">parts<span class="property-type">objekt</span></dt>
<dd>Na automatické spojenie sekvencie správ musia mať všetky tieto vlastnosti
nastavené. Uzol <b>split</b> generuje túto vlastnosť,
ale môže byť vytvorená aj manuálne. nasledujúce vlastnosti:
<ul>
<li><code>id</code> - identifikátor pre skupinu správ</li>
<li><code>index</code> - pozícia v rámci skupiny</li>
<li><code>count</code> - celkový počet správ v skupine</li>
<li><code>type</code> - typ správy - reťazec/pole/objekt/vyrovnávacia pamäť</li>
<li><code>ch</code> - pre reťazec alebo vyrovnávaciu pamäť, údaje použité na rozdelenie správy na reťazec alebo pole bajtov</li>
<li><code>key</code> - pre objekt, kľúč vlastnosti, z ktorej bola táto správa vytvorená</li>
<li><code>len</code> - dĺžka každej správy pri rozdelení pomocou pevnej hodnoty dĺžky</li>
</ul>
<dd>
<dt class="optional">complete</dt>
<dd>Ak je definovaný, uzol pridá užitočné zaťaženie a potom odošle výstupnú správu v jej aktuálnom stave.
Ak nechcete pridať užitočné zaťaženie, odstráňte ho zo správy.</dd>
<dt class="optional">reset</dt>
<dd>Ak je definovaný, uzol vymaže všetky čiastočne dokončené správy a neodošle ich.</dd>
<dt class="optional">restartTimeout</dt>
<dd>Ak je definovaný a uzol nakonfigurovaný časový limit, tento časový limit sa reštartuje.</dd>
</dl>
<h3>Podrobnosti</h3>
<h4>Automatický režim</h4>
<p>Automatický režim používa vlastnosť <code>parts</code> prichádzajúcich správ na
určenie, ako byť sekvencia spojená. To mu umožňuje automaticky
zvrátiť činnosť uzla <b>split</b>.</p>
<h4>Manuálny režim</h4>
<p>Keď je nakonfigurovaný na spájanie v manuálnom režime, uzol môže spájať sekvencie
správ do rôznych výsledkov:</p>
<ul>
<li><b>Reťazec</b> alebo <b>buffer</b> - vytvorený spojením vybranej vlastnosti každej správy so zadanými znakmi alebo bufferom.</li>
<li><b>Pole</b> - vytvorené pridaním každej vybranej vlastnosti alebo celej správy do výstupného poľa.</li>
<li><b>Objekt kľúč/hodnota</b> - vytvorený použitím vlastnosti každej správy na určenie kľúča,
pod ktorým je uložená požadovaná hodnota.</li>
<li><b>Zlúčený objekt</b> - vytvorený zlúčením vlastností každej správy do jedného objektu.</li>
</ul>
<p>Ostatné vlastnosti výstupnej správy prevzaté z poslednej prijatej správy pred odoslaním výsledku.</p>
<p>Môže byť definovaný <i>počítač</i> pre počet správ, ktoré majú byť prijaté pred generovaním výstupnej správy.
Pre výstupy objektu, keď sa tento počet dosiahne, môže byť uzol nakonfigurovaný tak, aby odoslal správu pre každú nasledujúcu prijatú správu.</p>
<p>Môže byť definovaný <i>časový limit</i> na spustenie odoslania novej správy pomocou všetkého, čo bolo doteraz prijaté.
Tento časový limit môže byť reštartovaný odoslaním správy s nastavenou vlastnosťou <code>msg.restartTimeout</code>.</p>
<p>Ak je prijatá správa s nastavenou vlastnosťou <code>msg.complete</code>, výstupná správa je dokončená a odoslaná.
To resetuje všetky počítadlá častí.</p>
<p>Ak je prijatá správa s nastavenou vlastnosťou <code>msg.reset</code>, čiastočne dokončená správa je odstránená a nie je odoslaná.
To resetuje všetky počítadlá častí.</p>
<h4>Zredukovať režim sekvencie</h4>
<p>Keď je nakonfigurovaný na spájanie v redukčnom režime,
na každú správu v sekvencii sa aplikuje výraz
a akumulovaný výsledok sa odošle ako jediná správa.</p>
<dl class="message-properties">
<dt>Počiatočná hodnota</dt>
<dd>Počiatočná hodnota kumulovanej hodnoty (<code>$A</code>).</dd>
<dt>Zredukovať výraz</dt>
<dd>Výraz JSONata volaný pre každú správu v sekvencii.
Výsledok je prenesený do ďalšieho volania výrazu ako kumulovaná hodnota.
Vo výraze môžu byť použité nasledujúce špeciálne premenné:
<ul>
<li><code>$A</code>: kumulovaná hodnota, </li>
<li><code>$I</code>: index správy v sekvencii, </li>
<li><code>$N</code>: počet správ v sekvencii.</li>
</ul>
</dd>
<dt>Výraz korekcie</dt>
<dd>Voliteľný výraz JSONata, ktorý sa aplikuje po tom, ako bol výraz redukcie aplikovaný na všetky správy v sekvencii.
Vo výraze môžu byť použité nasledujúce špeciálne premenné:
<ul>
<li><code>$A</code>: kumulovaná hodnota, </li>
<li><code>$N</code>: počet správ v sekvencii.</li>
</ul>
</dd>
<p>V predvolenom nastavení je výraz redukcie aplikovaný v poradí, od prvej
po poslednú správu v sekvencii. Môže byť prípadne aplikovaný v
opačnom poradí.</p>
<p>$N je počet prichádzajúcich správ - aj keď identické.</p>
</dl>
<p><b>Príklad</b>: s nasledujúcimi parametrami, zadanými ako sekvencia číselných hodnôt,
uzol vypočíta priemernú hodnotu:
<ul>
<li><b>Zredukovať výraz</b>: <code>$A+payload</code></li>
<li><b>Počiatočná hodnota</b>: <code>0</code></li>
<li><b>Výraz korekcie</b>: <code>$A/$N</code></li>
</ul>
</p>
<h4>Ukladanie správ</h4>
<p>Tento uzol bude ukladať správy do interného bufferu, aby mohol pracovať na viacerých sekvenciách.
Parameter vykonávania <code>nodeMessageBufferMaxLength</code> môže byť použitý na obmedzenie počtu správ,
ktoré sa majú uložiť do bufferu v uzle.</p>
</script>