Suporte a expressões no fluxo
A expressão pode ser usada para acessar as propriedades durante a execução da instância do fluxo.
Visão geral
Depois que o fluxo é acionado por meio do " URL de execução", um conjunto de propriedades padrão ou integradas é preenchido na instância do fluxo. Além disso, algumas propriedades são preenchidas pelas tarefas utilizadas no fluxo.
O documento apresenta um conjunto de diferentes funções ou operadores condicionais utilizados em expressões.
O usuário precisa seguir uma sintaxe específica para declarar uma expressão nas tarefas e nos pontos de decisão de um determinado fluxo. A expressão deve começar com @context e terminar com @. Por exemplo, @context.__tenantid@.
Acessando as propriedades da instância do fluxo
Cada propriedade de uma instância de fluxo tem seu próprio tipo. Portanto, o acesso ao valor da propriedade é influenciado pelo tipo da propriedade. Os tipos de propriedade suportados são 'String', 'Number', 'Boolean', 'JSON' e 'Array'. Consulte as informações adicionais fornecidas para entender como cada um desses diferentes tipos de propriedade pode ser utilizado.
- É possível acessar uma string, um valor booleano ou um número como
@context.propertyName@. Por exemplo,- status -
@context.status@ - __tenantid -
@context.__tenantid@ - __locale -
@context.__locale@
- status -
[].É possível acessar uma propriedade JSON aninhada usando os delimitadores '' ou colchetes. Por exemplo,- userName da propriedade do usuário -
@context.user.id@ - messageId da propriedade de erro -
@context.error.messageId@ - ID da propriedade do usuário -
@context.user['id']@
Nota:- Os
[]colchetes devem ser usados apenas para acessar propriedades secundárias. .As propriedades aninhadas que contêm delimitadores '' devem ser colocadas entre[]parênteses.
- userName da propriedade do usuário -
- É possível acessar uma propriedade de matriz utilizando o índice desejado entre
[]colchetes. Por exemplo,- e-mail da propriedade do usuário -
@context.user.emails[0].value@ou@context.user['emails'][0].value@ - nome do atributo personalizado a partir da propriedade do usuário -
@context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].customAttributes[0].name@
- e-mail da propriedade do usuário -
Uso de expressões nos parâmetros de entrada
A expressão pode ser usada para acessar propriedades de instância nos parâmetros de entrada das tarefas. Os parâmetros de entrada também aceitam expressões, juntamente com operadores. Os operadores binários e ternários podem ser usados em conjunto com expressões nos parâmetros de entrada. Consulte os exemplos a seguir
- Acesso à propriedade -
@context.themeId@ - Usando o operador binário -
@context.user.userName@ == "Jessica Hill" - Usando o operador ternário -
@context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].userCategory@ == "regular" ? @context.basicLdapUrl@ : @context.federatedUrl@
Construtor de condição
O caminho de decisão do ponto de condição é criado no criador de condições. O construtor de condições está disponível no fluxo de saída do ponto de condição. O construtor de condições começa com um conjunto de condições "if" e pode ter zero ou mais conjuntos de condições "or". Cada conjunto de condições pode conter várias condições. Cada condição é dividida em três seções: Atributo, Operador e Valor.
@context e terminar com @. Por exemplo, para acessar uma propriedade personalizada chamada responseCode, o usuário pode digitar - @context.responseCode@.A seção " Valor" aceita como entrada cadeias de caracteres, números, valores booleanos e expressões de fluxo.
| Operador | tipos de dados suportados | Descrição | exemplo |
|---|---|---|---|
equal to |
String, Número e Booleano | O atributo e o valor na comparação têm o mesmo valor. | @context.status@ equivale a fracasso. |
not equal to |
String, Número e Booleano | O atributo e o valor na comparação não têm o mesmo valor. | @context.themeId@ diferente do padrão. |
less than |
Número | O atributo na comparação tem um valor menor do que o valor. | @context.numericProperty@ (suponha que exista uma variável chamada ` numericProperty ` no contexto) menor que 20. |
less than or equal to |
Número | O atributo na comparação é menor ou igual ao valor. | @context.numericProperty@ menor ou igual a 20. |
greater than |
Número | O atributo na comparação tem um valor maior do que o valor. | @context.numericProperty@ superior a 20. |
greater than or equal to |
Número | O atributo na comparação é maior ou igual ao valor. | @context.numericProperty@ maior ou igual a 20. |
is true |
Booleano | A propriedade do atributo é avaliada como verdadeiro. | @context.booleanProperty@ (supondo que exista uma variável chamada ` booleanProperty ` no contexto) é verdadeira. |
is false |
Booleano | A propriedade do atributo é avaliada como falso. | @context.booleanProperty@ é falso. |
has property |
_ | O atributo contém uma propriedade mencionada no valor. | @context.user.name@ possui a propriedade givenName |
is not null |
String, Número e Booleano | O atributo não é nulo. | @context.user.name.givenName@ não é nulo. |
is not empty |
Sequência | O atributo não está vazio. | @context.user.name.givenName@ não está vazio. |
is trueOs operadores,is false,is not null, eis not emptynão exigem a seção Valor.- Para calcular condições complexas, o usuário deve utilizar a tarefa Função. Por exemplo, para filtrar um usuário de uma lista de usuários com base em determinados atributos. O usuário filtrado pode então ser acessado por meio da expressão.
- Um tipo de dados pode ser convertido em String colocando-o entre "". Por exemplo, o número 10 pode ser convertido em uma sequência de caracteres como "10", ou o valor booleano true pode ser convertido em uma sequência de caracteres como "true".