Um estado Pass encaminha a entrada diretamente para a saída sem executar processamento. Use estados Pass para simular o fluxo durante o design da estrutura geral ou para remodelar dados entre estados com InputConstructor e OutputConstructor.
Casos de uso
Simulação da lógica do fluxo: Combine estados Pass com estados Control para esboçar e depurar a estrutura do fluxo. Substitua-os por estados Task conforme desenvolver cada etapa.
Remodelagem de dados entre estados: Use
InputConstructorpara injetar valores estáticos ouOutputConstructorpara reestruturar dados. Assim, os estados subsequentes recebem o formato esperado.
Atributos
|
Atributo |
Tipo |
Obrigatório |
Descrição |
Exemplo |
|
Name |
string |
Sim |
Nome do estado. |
my state |
|
Description |
string |
Não |
Descrição do estado. |
describe it here |
|
Type |
string |
Sim |
Tipo do estado. |
Pass |
|
Next |
string |
Não |
Próximo estado executado após a conclusão deste. Desnecessário quando |
my next |
|
End |
bool |
Não |
Indica se o escopo atual deve ser encerrado. |
true |
|
InputConstructor |
map[string]any |
Não |
Constrói uma nova entrada e substitui totalmente a entrada original do estado. Consulte InputConstructor. |
- |
|
OutputConstructor |
map[string]any |
Não |
Reestrutura a saída do estado antes de passá-la ao próximo estado. Consulte OutputConstructor. |
- |
Exemplos
Injeção de dados estáticos
Este fluxo define um único estado Pass que usa InputConstructor para injetar um valor fixo. Como InputConstructor substitui integralmente a entrada original, o estado Pass ignora quaisquer dados recebidos e constrói um novo objeto.
Type: StateMachine
Name: my-wkfl
SpecVersion: v1
StartAt: Pass1
States:
- Type: Pass
Name: Pass1
End: true
InputConstructor:
FieldA: 123
Entrada (ignorada porque InputConstructor a sobrescreve):
{
"requestId": "abc-123"
}
Saída:
{
"FieldA": 123
}
O estado descarta a entrada original e retorna um novo objeto contendo apenas FieldA defina como 123.
Encaminhamento de dados sem alterações
Um estado Pass sem InputConstructor ou OutputConstructor repassa a entrada sem modificações. Esse recurso funciona como marcador de posição durante o design do fluxo.
Type: StateMachine
Name: my-wkfl
SpecVersion: v1
StartAt: ProvideDefaults
States:
- Type: Pass
Name: ProvideDefaults
Next: ProcessOrder
- Type: Pass
Name: ProcessOrder
End: true
Entrada:
{
"orderId": "order-456",
"amount": 99.9
}
Saída (inalterada):
{
"orderId": "order-456",
"amount": 99.9
}
Ambos os estados repassam os dados exatamente como recebidos. Substitua ProcessOrder por um estado Task quando a lógica de processamento estiver pronta.
Tópicos relacionados
Entrada e saída -- Saiba como
InputConstructoreOutputConstructortransformam dados entre estados.