Tipos de operação de RTE incluídos na aplicação Componentes comuns de integração para CMDB

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 10 min. de leitura
  • Os tipos de operação do RTE (Robust Transform Engine) são métodos de operação comuns para uso no ETL sem precisar gravar suas próprias transformações de dados complexos.

    Os seguintes tipos de operação estão disponíveis na aplicação 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

    A 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 cadeia de caracteres_de_associação Resultado
    "entrada_1", "entrada_2", "entrada_3" ", " "entrada_1, entrada_2, entrada_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 o date_format estiver incorreto. Retorna um valor vazio se não for possível analisar.

    Tabela 3. Exemplo
    Entrada Resultado
    "2018/09/20 11:21:00 AM EST" com date_format "yyyy/MM/dd hh:mm:ss az" "2018-09-20 16:21:00"
    "2018/09/20 01:21:00 PM EST" com date_format "aaaa/MM/dd hh:mm:ss az" "2018-09-20 18:21:00"
    "09/20/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 ficará vazia.

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

    Cópia

    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 ao 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 de 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, deve 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 entrada múltipla

    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 entrada múltipla 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 de uso de 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 true, o script processará apenas dois valores (computer + Windows XP e computer + Linux). Se use_unique_inputs_sets estiver definido como falso, cada um dos três valores será processado individualmente (computador + Windows XP, computador + Linuxe 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 várias saídas para esse script.

    Detalhes
    Tabela Operação de script de múltiplas 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 pela 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 (string, expressão regular)
    • replacement_regex (cadeia de caracteres)
    Tabela 8. Exemplo
    Entrada Resultado
    "Cadeia de caracteres&With(Special)$Characters" commatch_regex="[^0-9a-zA-Z]+" e substituição_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 pela cadeia de caracteres especificada no campo replacement_string.

    Detalhes
    Tabela Operação de substituição de 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 (string)
    • replacement_string (string)
    Tabela 9. Exemplo
    Entrada Resultado
    "Cadeia de caracteres original" com cadeia de caracteres correspondente = "Original" e cadeia de caracteres de substituição= "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. Não números são truncados.

    Detalhes
    Tabela Operação numérica da rodada da entidade de RTE [sys_rte_eb_ Round_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 (string)
    • replacement_string (string)
    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 para esse script.
    Nota:
    O tipo de operação de Script foi amplamente substituído pela Operação de Script de Entrada Múltipla e está incluído para compatibilidade com versões anteriores com as configurações existentes.
    Detalhes
    Tabela Operação de script de 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 conjunto de 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 (string)
    • 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. de 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
    "um", "b" c
    "2", "-1", "0" -1
    "um", "b" a

    Divisão

    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 resultante de cadeias de caracteres ao campo target_sys_rte_eb_field, em ordem.

    Detalhes
    Tabela Operação de divisão de 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
    "valor1||valor2||valor3", string_splitting_string:"||" com target_sys_rte_eb_fields {target1,target2,target3} target1 : valor1, target2 : value2, target3 : value3
    "valor1||valor2||valor3", string_splitting_string:"||" com target_sys_rte_eb_fields {target1} destino1: valor1
    "value1", Splitting_String:"||" com target_sys_rte_eb_fields {target1,target2,target3} target1 : value1, target2 : <null>, target3 : <null>

    Corte

    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 de 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, mas sem espaços iniciais e finais.

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

    Maiúsculo

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

    Detalhes
    Tabela Operação de Caso Superior de 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
    " valor 1 " "VALOR1"

    Corte de maiúsculas

    Combina as transformações de maiúsculas e de corte.

    Detalhes
    Tabela Operação de corte de caso superior de 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
    " valor1 " "VALOR1"