Expressões e limitações de CEL em DataStage

Use expressões para definir condições, valores de entrada e variáveis de usuário em um fluxo de orquestração. Se uma tarefa de sequência migrada contiver expressões, elas deverão ser convertidas na sintaxe CEL..

É possível acessar funções integradas e outros elementos de codificação por meio do Expression Builder. O Expression Builder usa CEL (Common Expression Language). Para obter mais informações sobre funções integradas, consulte Funções. Para funções DataStage-specific, consulte DataStage.

As expressões são avaliadas no contexto de uma determinada tarefa executada em um escopo específico. O escopo pode ser um projeto, espaço ou catálogo. Use o objeto ctx para referir-se a propriedades de contexto como o nome e ID do escopo, job, usuário e pipeline. Exemplo: ctx.pipeline.id.

Para referencia um nó no pipeline, copie o ID do Nó a partir das propriedades desse nó. Você também pode usar o objeto tasks para referencia de nós e resultados de tarefas. Os componentes com a saída padrão utilizam o objeto results para armazenar os resultados do fluxo. Para saídas não padrão, você também pode usar results para recuperar saídas customizadas ou variáveis definidas como saída. Quando o tratamento de erros é acionado, o objeto error pode ser usado dentro do manipulador de Exceção.

Quando um fluxo de orquestração é criado a partir de um trabalho de sequenciador migrado, as expressões específicas do DataStage-specific precisam ser traduzidas para o CEL. Use os elementos de codificação de pipeline no Expression Builder para substituir funções e veja exemplos de diferenças de sintaxe na tabela a seguir.
Descrição da expressão CEL DataStage
Operadores lógicos a > b || c < 10 a > b OR c < 10
Operador ternário a > b ? 'A' : 'B' IF a > b THEN 'A' ELSE 'B'
concatenação de sequência de caracteres "prefix-" + parameter + "-suffix" "prefix-" : parameter : "-suffix"
String começa com param.startsWith('abc') Left(param,3) = 'abc'
Índice de subsequência param.indexOf('abc') Index(param, 'abc', 1)
Substituição de cadeia param.replace('he', 'we') Ereplace(param, "he", "we")
Sequência minúsida param.lowerAscii() DownCase(param)
É nulo param == null IsNull(param)