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.
| 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) |