Tipos de operação de RTE incluídos no app Componentes comuns de integração para CMDB

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 10 min. de leitura
  • Os tipos de operação do Mecanismo de Transformação Robusta (RTE) são métodos de operação comuns para uso no ETL sem que você precise gravar suas próprias transformações de dados complexas.

    Os tipos de operação a seguir estão disponíveis no app Componentes comuns de integração para CMDB.

    Concatenação

    Combina os valores dos campos de entrada em uma só cadeia de caracteres, juntando-os no campo opcional joining_string.

    Detalhes
    Tabela Operação de concatenação de entidade de RTE [sys_rte_eb_concat_operation]
    Campo de entrada source_sys_rte_eb_fields

    Entrada é um conjunto de campos e constantes.

    Campo de saída target_sys_rte_eb_field

    A saída é o valor combinado dos campos fornecidos como uma única cadeia de caracteres.

    Campos adicionais joining_string (opcional)
    Tabela 1. Exemplo
    Entrada joining_string Resultado
    "input_1", "input_2", "input_3" ", " "input_1, input_2, input_3"

    Converter para booliano

    Converte o valor de entrada em um Booliano.

    Detalhes
    Tabela Conversão da entidade de RTE em operação booliana [sys_rte_eb_to_boolean_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor de cadeia de caracteres.

    Campo de saída target_sys_rte_eb_field

    A saída é verdadeira quando a entrada é verdadeira ou 1. Caso contrário, a saída é falsa. (sem distinção entre maiúsculas e minúsculas)

    Tabela 2. Exemplo
    Entrada Resultado
    input_1 falso
    verdadeiro verdadeiro
    1 verdadeiro
    0 falso
    11 falso

    Converter em Data

    Tenta converter o valor de entrada em um valor GlideDateTime aplicando o date_format ao valor de entrada.

    Detalhes
    Tabela Conversão da entidade de RTE em operação de data [sys_rte_eb_to_date_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor de carimbo de data/hora de dados com formato de data.

    Campo de saída target_sys_rte_eb_field

    A saída é o carimbo de data/hora no formato de data especificado. Tenta converter diretamente usando GlideDateTime se date_format estiver incorreto. Retorna um valor vazio se não for possível analisar.

    Tabela 3. Exemplo
    Entrada Resultado
    "20/09/2018 11:21:00 EST" com date_format "aaaa/MM/dd hh:mm:ss az" "2018-09-20 16:21:00"
    "20/09/2018 13:21:00 EST" com date_format "aaaa/MM/dd hh:mm:ss az" "2018-09-20 18:21:00"
    "20/09/18" com date_format "aaaa/MM/dd hh:mm:ss az" ""0018-09-20 00:00:0"

    Converter em Numérico

    Converte o valor de entrada em um número.

    Detalhes
    Tabela Conversão da entidade de RTE em operação numérica [sys_rte_eb_to_numeric_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor.

    Campo de saída target_sys_rte_eb_field

    A saída é um valor numérico. Se o valor de entrada não for numérico, a saída será vazia.

    Tabela 4. Exemplo
    Entrada Resultado
    input_1 nulo
    1.23 1.23
    1.00 1
    dois nulo

    Copiar

    Copia o valor do campo de origem para todos os campos de destino.

    Detalhes
    Tabela Operação de cópia de entidade de RTE [sys_rte_eb_copy_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor.

    Campo de saída target_sys_rte_eb_fields

    A saída é o valor do campo de origem copiado.

    Campo adicional overwrite_existing_value (opcional, Booliano): se verdadeiro, os valores dos campos de destino serão substituídos. Caso contrário, qualquer valor não vazio não será substituído.

    Extrair Primeiro Numérico

    Define o campo de destino como o primeiro valor numérico encontrado no campo de origem.

    Detalhes
    Tabela Operação numérica de extração de RTE [sys_rte_eb_extract_numeric_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor.

    Campo de saída target_sys_rte_eb_field

    A saída é o valor numérico encontrado na entrada.

    Campos adicionais
    • decimal_places (opcional, número): força a saída a ter um número especificado de casas decimais.
    • remainder_target_field (opcional, referência a campo): definido como o restante aparado do campo de origem, após remover o primeiro valor numérico.
    Tabela 5. Exemplo
    Entrada Resultado
    100 mb 100
    100.123 mb 100.123
    100.123 mb com decimal_places=2 100.12
    100 MB com decimal_places=2 100,00
    100 mb com remainder_target_field mb

    Operação de pesquisa de Glide

    Executa uma pesquisa no banco de dados na tabela de destino especificada no campo target_table.

    Detalhes
    Tabela Operação de pesquisa de Glide de RTE [sys_rte_eb_glide_lookup_operation]
    Campo de entrada source_sys_rte_eb_fields

    A tabela do banco de dados para pesquisa.

    Campo de saída target_sys_rte_eb_fields

    Os dados resultantes são baseados na operação de pesquisa.

    Campos adicionais
    • target_table
    • glide_matching_fields (cadeia de caracteres): lista separada por vírgulas de nomes de coluna na tabela de destino. Para cada campo de entrada em source_sys_rte_eb_fields, deve haver um número igual de valores em glide_matching_fields.
    • glide_target_fields (cadeia de caracteres): lista separada por vírgulas de nomes de coluna na tabela de destino. Para cada campo de destino em target_sys_rte_eb_fields, é preciso haver um número igual de valores em glide_target_fields.
    Tabela 6. Exemplo
    Entrada Resultado
    • Campo de entrada 1:100 South Charles Street, Baltimore
    • Campo de entrada 2: MD
    • Tabela de destino: local (cmn_location)
    • Campos correspondentes ao Glide: street, state
    • Campos de destino do Glide: sys_id
    Campo de saída 1: 25ab9c4d0a0a0bb300f7dabdc0ca7c1c

    Script de entradas múltiplas

    Executa um script com várias entradas, definindo o campo target_sys_rte_eb_field como a saída para esse script.

    Detalhes
    Tabela Operação de script de entradas múltiplas da entidade de RTE [sys_rte_eb_multi_in_script_operation]
    Campo de entrada source_sys_rte_eb_fields

    A entrada é um script.

    Campo de saída target_sys_rte_eb_field

    A saída é o resultado do script de entrada.

    Campos adicionais
    • script (script)
    • use_unique_input_sets (Booliano): quando verdadeiro, somente valores de entrada exclusivos são incluídos no lote de dados para processamento de IRE. Caso contrário, todos os valores de campo do objeto de entrada serão incluídos.

    Exemplo para usar use_unique_input_sets, com uma função de script que usa record_type e operating_system como entrada e retorna record_with_os:

    Tabela 7. Exemplos
    Registro record_type operating_system
    1 computador Windows XP
    2 computador Linux
    3 computador Windows XP

    Se use_unique_inputs_sets estiver definido como verdadeiro, o script processará apenas dois valores (computador + Windows XP e computador + Linux). Se use_unique_inputs_sets estiver definido como falso, cada um dos três valores será processado individualmente (computador + Windows XP, computador + Linux e computador + Windows XP).

    Script de exemplo:
    (function(batch, output) { 
                    for (var i = 0; i < batch.length; i++) { 
                            // batch[i] is the unique set of inputs/individual record 
                            // batch[i].<field> gives access to the field value 
                            var in0 = gs.nil(batch[i].record_type) ? '' : batch[i].record_type;
                            var in1 = gs.nil(batch[i].operating_system) ? '' : batch[i].operating_system;
                            // output[i] is the output for the specific combination of inputs/individual record 
                            output[i] = in0 + "_" + in1; 
                        } 
                    } 
                })(batch, output);

    Script com várias entradas/saídas

    Executa um script com várias entradas, definindo os campos de destino especificados no campo target_sys_rte_eb_fields como as saídas múltiplas para esse script.

    Detalhes
    Tabela Operação de script de várias entradas/saídas da entidade de RTE [sys_rte_eb_multiple_input_output_script_operation]
    Campo de entrada source_sys_rte_eb_fields

    A entrada é um script.

    Campo de saída target_sys_rte_eb_fields

    A saída é o resultado do script de entrada.

    Campos adicionais script (script)
    Script de exemplo:
    (function(batch, output) { 
                    for (var i = 0; i < batch.length; i++) { 
                            var userId = (batch[i].user_id);
                            var userIdParts = userId.split(".");
                            output[i].first_name = userIdParts[0]; 
                            output[i].last_name = userIdParts[1];
                        } 
                    } 
                })(batch, output);

    Substituição de regex

    Substitui cada substring da cadeia de caracteres de entrada que corresponde ao padrão de expressão regular especificado no campo match_regex com a cadeia de caracteres especificada no campo replacement_regex .

    Detalhes
    Tabela Operação de substituição da expressão regular da entidade de RTE [sys_rte_eb_regex_replace_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor de cadeia de caracteres.

    Campo de saída target_sys_rte_eb_field

    A saída é a cadeia de caracteres substituída.

    Campos adicionais
    • match_regex (cadeia de caracteres, expressão regular)
    • replacement_regex (cadeia de caracteres)
    Tabela 8. Exemplo
    Entrada Resultado
    "String&With(Special)$Characters" com match_regex="[^0-9a-zA-Z]+" e replacement_regex=" " "Cadeia de caracteres com caracteres especiais"

    Substituir

    Substitui cada substring da cadeia de caracteres de entrada que corresponde à cadeia de caracteres especificada no campo match_string com a cadeia de caracteres especificada no campo replacement_string.

    Detalhes
    Tabela Operação de substituição da entidade de RTE [sys_rte_eb_replace_operation
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor de cadeia de caracteres.

    Campo de saída target_sys_rte_eb_field

    A saída é a cadeia de caracteres substituída.

    Campos adicionais
    • match_string (cadeia de caracteres)
    • replacement_string (cadeia de caracteres)
    Tabela 9. Exemplo
    Entrada Resultado
    "Cadeia de caracteres original" com "match_string" = "Original" e replacement_string= "Substituição" "Cadeia de caracteres de Substituição"

    Arredondar Numérico

    Arredonda o valor numérico de entrada para o número inteiro mais próximo. Itens não numéricos são truncados.

    Detalhes
    Tabela Operação numérica da rodada da entidade de RTE [sys_rte_eb_redonda_numeric_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor numérico.

    Campo de saída target_sys_rte_eb_field

    A saída é um número inteiro.

    Campos adicionais
    • match_string (cadeia de caracteres)
    • replacement_string (cadeia de caracteres)
    Tabela 10. Exemplo
    Entrada Resultado
    "1,5" "2"
    "1,4" "1"
    "Sou uma cadeia de caracteres" ""

    Operação de script

    Executa um script com uma entrada e define o campo target_sys_rte_eb_field como a saída desse script.
    Nota:
    O tipo de operação Script foi majoritariamente substituído pela Operação de script de várias entradas e está incluído para compatibilidade reversa com as configurações existentes.
    Detalhes
    Tabela Operação de script da entidade de RTE [sys_rte_eb_script_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um script.

    Campo de saída target_sys_rte_eb_field

    A saída é o resultado do script de entrada.

    Campos adicionais
    • script(script)
    • use_unique_input_sets (Booliano): quando verdadeiro, somente valores de entrada exclusivos são incluídos no lote de dados para processamento de IRE. Caso contrário, todos os valores de campo do objeto de entrada serão incluídos. Para obter um exemplo e mais detalhes, consulte a transformação Script de várias entrada.
    O campo de origem está incluído na variável "lote" como a "entrada" do campo JavaScript.
    (function(batch, output) { 
                    for (var i = 0; i < batch.length; i++) { 
                            // batch[i] is the unique set of inputs/individual record 
                            // batch[i].input gives access to the field value 
                            var in0 = gs.nil(batch[i].input) ? '' : batch[i].input; 
                            // output[i] is the output for the specific combination of inputs/individual record 
                            output[i] = in0 + " modified by script"; 
                        } 
                    } 
                })(batch, output); 
    Exemplo:
    /* Example Script
     (function(batch, output) {
         for (var i = 0; i < batch.length; i++) {
             //step1: access the input variables
             var a = batch[i].input; //Value of the source field.
     
             //step2: Your script/code goes here.
             var b = a + 1;
             //step3: set the output for each elements
             output[i] = b;
         }
     })(batch, output);
    */ 

    Definir

    Define o valor do campo target_sys_rte_eb_field para a cadeia de caracteres fornecida no campo set_value.

    Detalhes
    Tabela Operação de definição da entidade de RTE [sys_rte_eb_set_operation]
    Campo de saída target_sys_rte_eb_field

    A saída é o valor associado ao campo set_value.

    Campos adicionais
    • set_value (cadeia de caracteres)
    • overwrite_existing_value (opcional, Booliano): quando verdadeiro, o valor atual do campo de destino é substituído. Caso contrário, um valor não vazio não será substituído.

    Definir Mínimo/Máximo

    Define o campo de destino como o máximo ou mínimo dos valores de todos os campos de entrada.

    Detalhes
    Tabela Operação mín./máx. da entidade de RTE [sys_rte_eb_min_max_operation]
    Campo de entrada source_sys_rte_eb_fields

    A entrada é um conjunto de valores.

    Campo de saída target_sys_rte_eb_field

    A saída é o valor máximo ou mínimo com base no valor min_max.

    Campos adicionais
    • data_type (lista de seleção com valores como STRING, NUMERIC e DATE)
    • min_max (lista de seleção com valores como MIN e MAX)
    Tabela 11. Exemplos
    Entrada Saída
    "2", "-1", "0" 2
    "a", "b" c
    "2", "-1", "0" -1
    "a", "b" a

    Dividir

    Divide a cadeia de caracteres incluída no valor de entrada source_sys_rte_eb_field no separador especificado no campo splitting_string e atribui a matriz de cadeias de caracteres resultante ao campo target_sys_rte_eb_field, em ordem.

    Detalhes
    Tabela Operação de divisão da entidade de RTE [sys_rte_eb_split_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor de cadeia de caracteres.

    Campo de saída target_sys_rte_eb_fields

    A saída é uma lista de substrings.

    Campos adicionais splitting_string (cadeia de caracteres)
    Tabela 12. Exemplo
    Entrada Resultado
    "value1||value2||value3", splitting_string:"||" com target_sys_rte_eb_fields {target1,target2,target3} target1 : value1, target2 : value2, target3 : value3
    "value1||value2||value3", splitting_string:"||" com target_sys_rte_eb_fields {target1} target1 : value1
    "value1", splitting_string:"||" com target_sys_rte_eb_fields {target1,target2,target3} target1 : value1, target2 : <null>, target3 : <null>

    Cortar

    Remove todos os espaços em branco no início e no final da cadeia de caracteres incluída no valor de entrada source_sys_rte_eb_field e atribui o resultado ao campo target_sys_rte_eb_field. Esta transformação é equivalente ao Método Java String trim().

    Detalhes
    Tabela Operação de corte da entidade de RTE [sys_rte_eb_trim_operation
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor de cadeia de caracteres.

    Campo de saída target_sys_rte_eb_field

    A saída é o valor da cadeia de caracteres de entrada sem espaços iniciais e finais.

    Tabela 13. Exemplo
    Entrada Resultado
    " value 1 " "value 1"

    Maiúsculo

    Muda todos os caracteres do valor de entrada source_sys_rte_eb_field para letras maiúsculas e atribui o resultado ao campo target_sys_rte_eb_field.

    Detalhes
    Tabela Operação de maiúsculas da entidade de RTE [sys_rte_eb_upper_case_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor de cadeia de caracteres.

    Campo de saída target_sys_rte_eb_field

    A saída é o valor da cadeia de caracteres em maiúsculas.

    Tabela 14. Exemplo
    Entrada Resultado
    "value1" "VALUE1"

    Corte e maiúsculas

    Combina a transformação maiúscula e a de corte.

    Detalhes
    Tabela Operação de corte e maiúsculas da entidade de RTE [sys_rte_eb_upper_case_trim_operation]
    Campo de entrada source_sys_rte_eb_field

    A entrada é um valor de cadeia de caracteres.

    Campo de saída target_sys_rte_eb_field

    A saída é o valor da cadeia de caracteres em maiúsculas sem espaços em branco no início e no final.

    Tabela 15. Exemplo
    Entrada Resultado
    "      value1    " "VALUE1"