mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
166 lines
10 KiB
HTML
166 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>Divide uma mensagem em uma sequência de mensagens.</p>
|
|||
|
|
|||
|
<h3>Entradas</h3>
|
|||
|
<dl class="message-properties">
|
|||
|
<dt>carga útil <span class="property-type"> objeto | cadeia de caracteres | matriz | armazenamento temporário </span></dt>
|
|||
|
<dd> O comportamento do nó é determinado pelo tipo de<code>msg.payload</code>:
|
|||
|
<ul>
|
|||
|
<li><b>cadeia de caracteres</b>/<b>armazenamento temporário</b> - a mensagem é dividida usando o caractere especificado (padrão:<code>\n</code>), sequência de armazenamento temporário ou em comprimentos fixos.</li>
|
|||
|
<li><b>matriz</b> - a mensagem é dividida em elementos de matriz individuais ou matrizes de comprimento fixo.</li>
|
|||
|
<li><b>objeto</b> - uma mensagem é enviada para cada par chave/valor do objeto.</li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
<h3>Saídas</h3>
|
|||
|
<dl class="message-properties">
|
|||
|
<dt>partes <span class="property-type"> objeto </span></dt>
|
|||
|
<dd>Esta propriedade contém informações sobre como a mensagem foi dividida
|
|||
|
a partir da mensagem original. Se passado para o nó de <b>junção</b>, a sequência pode ser
|
|||
|
remontada em uma única mensagem. A propriedade possui as seguintes propriedades:
|
|||
|
<ul>
|
|||
|
<li><code>id</code> - um identificador para o grupo de mensagens</li>
|
|||
|
<li><code>index</code> - a posição dentro do grupo</li>
|
|||
|
<li><code>count</code> - se conhecido, o número total de mensagens no grupo. Consulte 'modo de transmissão' abaixo.</li>
|
|||
|
<li><code>type</code> - o tipo de mensagem - cadeia de caracteres / matriz / objeto / armazenamento temporário</li>
|
|||
|
<li><code>ch</code> - para uma cadeia de caracteres ou armazenamento temporário, os dados usados para dividir a mensagem como cadeia de caracteres ou uma matriz de bytes</li>
|
|||
|
<li><code>key</code> - para um objeto, a chave da propriedade a partir da qual esta mensagem foi criada. O nó pode ser configurado para também copiar este valor para outras propriedades de mensagem, como<code>msg.topic</code>.</li>
|
|||
|
<li><code>len</code> - o comprimento de cada mensagem quando dividida usando um valor de comprimento fixo</li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
</dl>
|
|||
|
<h3>Detalhes</h3>
|
|||
|
<p>Este nó facilita a criação de um fluxo que executa ações comuns em
|
|||
|
uma sequência de mensagens, antes de, usando o nó de <b>junção</b>, recombinar a
|
|||
|
seqüência em uma única mensagem.</p>
|
|||
|
<p>Ele usa a propriedade<code>msg.parts</code> para rastrear as partes individuais
|
|||
|
de uma sequência.</p>
|
|||
|
<h4>Modo de transmissão</h4>
|
|||
|
<p>O nó também pode ser usado para criar um refluxo de transmissão de mensagens. Por exemplo, um
|
|||
|
dispositivo serial que envia comandos terminados em nova linha pode entregar uma única mensagem
|
|||
|
com um comando parcial em seu final. No 'modo de trasminssão', este nó irá dividir
|
|||
|
uma mensagem e enviar cada segmento completo. Se houver um segmento parcial no final,
|
|||
|
o nó irá retê-lo e acrescentá-lo à próxima mensagem que for recebida.
|
|||
|
</p>
|
|||
|
<p>Ao operar neste modo, o nó não configurará a propriedade<code>msg.parts.count</code>
|
|||
|
, pois não sabe quantas mensagens esperar no fluxo. Logo, não pode ser usado com o nó de <b>junção</b> em seu modo automático.</p>
|
|||
|
</script>
|
|||
|
|
|||
|
<script type="text/html" data-help-name="join">
|
|||
|
<p>Une sequências de mensagens em uma única mensagem.</p>
|
|||
|
<p>Existem três modos disponíveis:</p>
|
|||
|
<dl>
|
|||
|
<dt>automático</dt>
|
|||
|
<dd> Quando emparelhado com o nó de <b>divisão</b>, irá automaticamente juntar as mensagens para reverter a divisão que foi realizada.</dd>
|
|||
|
<dt>manual</dt>
|
|||
|
<dd> Junta as sequências de mensagens de várias maneiras.</dd>
|
|||
|
<dt>reduzir a sequência</dt>
|
|||
|
<dd> Aplica uma expressão a todas as mensagens em uma sequência para reduzi-la a uma única mensagem.</dd>
|
|||
|
</dl>
|
|||
|
<h3>Entradas</h3>
|
|||
|
<dl class="message-properties">
|
|||
|
<dt class="optional"> partes <span class="property-type"> objeto </span></dt>
|
|||
|
<dd>Para unir automaticamente uma sequência de mensagens, todas devem ter
|
|||
|
esta propriedade ativida. O nó de <b>divisão</b> gera esta propriedade, mas
|
|||
|
pode ser criada manualmente. Possui as seguintes propriedades:
|
|||
|
<ul>
|
|||
|
<li><code>id</code> - um identificador para o grupo de mensagens</li>
|
|||
|
<li><code>index</code> - a posição dentro do grupo</li>
|
|||
|
<li><code>contagem</code> - o número total de mensagens no grupo</li>
|
|||
|
<li><code>type</code> - o tipo de mensagem - cadeia de caracteres / matriz / objeto / armazenamento temporário</li>
|
|||
|
<li><code>ch</code> - para uma cadeia de caracteres ou armazenamento temporário, os dados usados para dividir a mensagem como cadeia de caracteres ou uma matriz de bytes</li>
|
|||
|
<li><code>chave</code> - para um objeto, a chave da propriedade a partir da qual esta mensagem foi criada</li>
|
|||
|
<li><code>len</code> - o comprimento de cada mensagem dividida usando um valor de comprimento fixo</li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt class="optional">completo</dt>
|
|||
|
<dd>Se definido, o nó acrescentará a carga útil e, em seguida, enviará a mensagem de saída em seu estado atual.
|
|||
|
Se você não deseja anexar a carga útil, exclua-a da mensagem.</dd>
|
|||
|
<dt class="optional">redefinir</dt>
|
|||
|
<dd>Se definido, o nó limpará qualquer mensagem parcialmente completa e não a enviará.</dd>
|
|||
|
<dt class="optional">restartTimeout</dt>
|
|||
|
<dd>Se definido e o nó tiver um tempo limite configurado, esse tempo limite será reiniciado.</dd>
|
|||
|
</dl>
|
|||
|
<h3>Detalhes</h3>
|
|||
|
|
|||
|
<h4>Modo automático</h4>
|
|||
|
<p>O modo automático usa a propriedade<code>parts</code> de mensagens recebidas para
|
|||
|
determinar como a sequência deve ser unida. Isso permite que ele automaticamente
|
|||
|
reverta a ação de um nó <b>dividido</b>.
|
|||
|
|
|||
|
<h4>Modo manual</h4>
|
|||
|
<p>Quando configurado para ingressar no modo manual, o nó é capaz de unir sequências
|
|||
|
de mensagens em vários resultados diferentes:</p>
|
|||
|
<ul>
|
|||
|
<li>uma <b>cadeia de caracteres</b> ou <b>armazenamento temporário</b> - É criada juntando-se a propriedade selecionada de cada mensagem com os caracteres de junção ou armazenamento temporário especificados.</li>
|
|||
|
<li>uma <b>matriz</b> - É criada adicionando-se cada propriedade selecionada, ou mensagem inteira, à matriz de saída.</li>
|
|||
|
<li>um <b>objeto chave/valor</b> - É criado usando uma propriedade de cada mensagem para determinar sob qual chave
|
|||
|
o valor necessário é armazenado.</li>
|
|||
|
<li>um <b>objeto mesclado</b> - É criado mesclando a propriedade de cada mensagem em um único objeto.</li>
|
|||
|
</ul>
|
|||
|
<p>As outras propriedades da mensagem de saída são obtidas a partir da última mensagem recebida antes do resultado ser enviado.</p>
|
|||
|
<p>Uma <i>contagem</i> pode ser configurada para quantas mensagens devam ser recebidas antes de gerar a mensagem de saída.
|
|||
|
Para saídas de objetos, uma vez que essa contagem tenha sido atingida, o nó pode ser configurado para enviar uma mensagem para cada mensagem subsequente
|
|||
|
recebida.</p>
|
|||
|
<p>Um <i>tempo limite</i> pode ser definido para acionar o envio da nova mensagem usando o que foi recebido até agora.</p>
|
|||
|
<p>Se uma mensagem for recebida com a propriedade <code>msg.complete</code> definida, a mensagem de saída será finalizada e enviada.
|
|||
|
Este tempo limite pode ser reiniciado pelo envio de uma mensagem com a propriedade <code>msg.restartTimeout</code> definida.</p>
|
|||
|
<p>Se uma mensagem for recebida com a propriedade <code>msg.reset</code> definida, a mensagem parcialmente completa será excluída e não enviada.
|
|||
|
Isso redefine qualquer contagem de peças.</p>
|
|||
|
|
|||
|
<h4>Modo Reduzir Sequência</h4>
|
|||
|
<p>Quando configurado para unir no modo de redução, uma expressão é aplicada a cada
|
|||
|
mensagem em uma sequência e o resultado acumulado para produzir uma única mensagem.</p>
|
|||
|
|
|||
|
<dl class="message-properties">
|
|||
|
<dt>Valor inicial</dt>
|
|||
|
<dd>O valor inicial do valor acumulado (<code>$A</code>).</dd>
|
|||
|
<dt>Reduzir a expressão</dt>
|
|||
|
<dd>Uma expressão JSONata que é chamada para cada mensagem na sequência.
|
|||
|
O resultado é passado para a próxima chamada da expressão como o valor acumulado.
|
|||
|
Na expressão em questão, as seguintes variáveis especiais podem ser usadas:
|
|||
|
<ul>
|
|||
|
<li><code>$A</code>: o valor acumulado,</li>
|
|||
|
<li><code>$I</code>: índice da mensagem na sequência,</li>
|
|||
|
<li><code>$N</code>: número de mensagens na sequência.</li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<dt>Expressão de correção</dt>
|
|||
|
<dd>Uma expressão JSONata opcional que é aplicada depois que a expressão de redução
|
|||
|
tiver sido aplicado a todas as mensagens na sequência.
|
|||
|
Na expressão em questão, as seguintes variáveis especiais podem ser usadas:
|
|||
|
<ul>
|
|||
|
<li><code>$A</code>: o valor acumulado,</li>
|
|||
|
<li><code>$N</code>: número de mensagens na sequência.</li>
|
|||
|
</ul>
|
|||
|
</dd>
|
|||
|
<p>Por padrão, a expressão de redução é aplicada em ordem, desde a primeira
|
|||
|
até a última mensagem da sequência. Opcionalmente pode ser aplicada em
|
|||
|
ordem inversa.</p>
|
|||
|
<p>$N é o número de mensagens que chegam - mesmo que sejam idênticas.</p>
|
|||
|
</dl>
|
|||
|
<p><b>Exemplo:</b> as configurações a seguir, dada uma sequência de valores numéricos,
|
|||
|
calcula o valor médio:
|
|||
|
<ul>
|
|||
|
<li><b>Reduzir expressão</b>: <code>$A+payload</code></li>
|
|||
|
<li><b>Valor inicial</b>: <code>0</code></li>
|
|||
|
<li><b>Expressão de correção</b>: <code>$A/$N</code></li>
|
|||
|
</ul>
|
|||
|
</script>
|