Types d’opérations RTE inclus dans l’application Éléments communs d'intégration pour CMDB

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 10 minutes de lecture
  • Les types d’opération RTE (Robust Transform Engine) sont des méthodes d’exploitation courantes à utiliser dans ETL sans avoir à écrire vos propres transformations de données complexes.

    Les types d’opérations suivants sont disponibles dans l’application Éléments communs d'intégration pour CMDB .

    Concaténation

    Combine les valeurs des champs d’entrée en une seule chaîne, en les joignant dans le champ facultatif joining_string .

    Détails
    Table Opération de concaténation de l’entité RTE [sys_rte_eb_concat_operation]
    Champ d'entrée source_sys_rte_eb_fields

    L’entrée est un ensemble de champs et de constantes.

    Champ de sortie target_sys_rte_eb_field

    La sortie est la valeur combinée des champs fournis sous la forme d’une seule chaîne.

    Champs supplémentaires joining_string (Facultatif)
    Tableau 1. Exemple
    Entrée joining_string Résultat
    « input_1 », « input_2 », « input_3 » ", " « input_1, input_2, input_3 »

    Convertir en booléen

    Convertit la valeur entrante en booléen.

    Détails
    Table Opération de conversion en booléen de l’entité RTE [sys_rte_eb_to_boolean_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur de chaîne.

    Champ de sortie target_sys_rte_eb_field

    La sortie est vrai quand l’entrée est vrai ou 1, sinon la sortie est faux. (sans respect de la casse)

    Tableau 2. Exemple
    Entrée Résultat
    input_1 faux
    VRAI VRAI
    1 VRAI
    0 faux
    11 faux

    Convertir en date

    Tente de convertir la valeur entrante en valeur GlideDateTime en appliquant la date_format à la valeur entrante.

    Détails
    Table Conversion en date d’une opération de l’entité RTE [sys_rte_eb_to_date_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur d’horodatage de données au format de date.

    Champ de sortie target_sys_rte_eb_field

    La sortie correspond à l’horodatage au format de date spécifié. Tente une conversion directe à l’aide de GlideDateTime si la date_format est incorrecte. Renvoie une valeur vide en cas d’impossibilité d’analyse.

    Tableau 3. Exemple
    Entrée Résultat
    « 2018/09/20 11:21:00 AM EST » avec date_format « yyyy/MM/dd hh :mm :ss a z » "2018-09-20 16:21:00"
    « 2018/09/20 01:21:00 PM EST » avec date_format « yyyy/MM/dd hh :mm :ss a z » « 20/09/2018 18:21:00 »
    « 09/20/18 » avec date_format « yyyy/MM/dd hh :mm :ss a z » ""0018-09-20 00:00:0"

    Convertir en numérique

    Convertit la valeur entrante en nombre.

    Détails
    Table Conversion en numérique d’une opération de l’entité RTE [sys_rte_eb_to_numeric_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur.

    Champ de sortie target_sys_rte_eb_field

    La sortie est une valeur numérique. Si la valeur d’entrée n’est pas numérique, la sortie est vide.

    Tableau 4. Exemple
    Entrée Résultat
    input_1 null
    1.23 1.23
    1.00 1
    deux null

    Copier

    Copie la valeur du champ source dans tous les champs cibles.

    Détails
    Table Opération de copie de l’entité RTE [sys_rte_eb_copy_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur.

    Champ de sortie target_sys_rte_eb_fields

    La sortie est la valeur du champ source copiée.

    Champ supplémentaire overwrite_existing_value (facultatif, booléen) : si vrai, les valeurs des champs cibles sont remplacées. Dans le cas contraire, aucune valeur non vide n’est remplacée.

    Extraire le premier numérique

    Définit le champ cible comme première valeur numérique trouvée dans le champ source.

    Détails
    Table Opération numérique d’extraction RTE [sys_rte_eb_extract_numeric_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur.

    Champ de sortie target_sys_rte_eb_field

    La sortie est la valeur numérique trouvée dans l’entrée.

    Champs supplémentaires
    • decimal_places (facultatif, nombre) : Force la sortie à avoir un nombre spécifié de décimales.
    • remainder_target_field (facultatif, référence au champ) : définir sur le reste tronqué du champ source, après avoir supprimé la première valeur numérique.
    Tableau 5. Exemple
    Entrée Résultat
    100 Mo 100
    100.123 mb 100.123
    100.123 MB avec decimal_places=2 100.12
    100 Mo avec decimal_places=2 100.00
    100 Mo avec remainder_target_field Mo

    Opération de recherche Glide

    Effectue une recherche dans la base de données sur la table cible spécifiée dans le target_table champ.

    Détails
    Table Opération de recherche Glide RTE [sys_rte_eb_glide_lookup_operation]
    Champ d'entrée source_sys_rte_eb_fields

    Table de base de données à rechercher.

    Champ de sortie target_sys_rte_eb_fields

    Données qui en résultent en fonction de l’opération de recherche.

    Champs supplémentaires
    • target_table
    • glide_matching_fields (chaîne) : liste de noms de colonnes séparés par des virgules dans la table cible. Pour chaque champ d’entrée dans source_sys_rte_eb_fields, il doit y avoir un nombre égal de valeurs dans glide_matching_fields.
    • glide_target_fields (chaîne) : liste de noms de colonnes séparés par des virgules dans la table cible. Pour chaque champ cible dans target_sys_rte_eb_fields, il doit y avoir un nombre égal de valeurs dans glide_target_fields.
    Tableau 6. Exemple
    Entrée Résultat
    • Champ d’entrée 1 : 100 South Charles Street, Baltimore
    • Champ d’entrée 2 : MD
    • Table cible : Emplacement (cmn_location)
    • Champs de correspondance Glide : rue, état
    • Champs cibles Glide : sys_id
    Champ de sortie 1 : 25ab9c4d0a0a0bb300f7dabdc0ca7c1c

    Script d’entrée multiple

    Exécute un script avec plusieurs entrées définissant le target_sys_rte_eb_field champ comme sortie pour ce script.

    Détails
    Table Opération de script d’entrée multiple RTE [sys_rte_eb_multi_in_script_operation]
    Champ d'entrée source_sys_rte_eb_fields

    L’entrée est un script.

    Champ de sortie target_sys_rte_eb_field

    La sortie est le résultat du script d’entrée.

    Champs supplémentaires
    • script (script)
    • use_unique_input_sets(booléen) : lorsque la valeur est vrai, seules les valeurs d’entrée uniques sont incluses dans le lot de données pour le traitement IRE. Sinon, toutes les valeurs de champ de l’objet d’entrée sont incluses.

    Exemple d’utilisation use_unique_input_setsde , avec une fonction de script qui prend record_type et operating_system comme entrée et renvoie record_with_os :

    Tableau 7. Exemples
    Enregistrement record_type operating_system
    1 ordinateur Windows XP
    2 ordinateur Linux
    3 ordinateur Windows XP

    Si use_unique_inputs_sets est défini sur true, le script ne traite que deux valeurs (ordinateur + Windows XP et ordinateur + Linux). Si use_unique_inputs_sets est défini sur faux, chacune des trois valeurs est traitée individuellement (ordinateur + Windows XP,ordinateur + Linux et ordinateur + Windows XP).

    Exemple de script :
    (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 d'entrée/sortie multiple

    Exécute un script avec plusieurs entrées définissant les champs cibles spécifiés dans le target_sys_rte_eb_fields champ comme sorties multiples pour ce script.

    Détails
    Table Opération de script d’entrée/sortie multiple RTE [sys_rte_eb_multiple_input_output_script_operation]
    Champ d'entrée source_sys_rte_eb_fields

    L’entrée est un script.

    Champ de sortie target_sys_rte_eb_fields

    La sortie est le résultat du script d’entrée.

    Champs supplémentaires script (script)
    Exemple de script :
    (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);

    Remplacement Regex

    Remplace chaque sous-chaîne de la chaîne d’entrée qui correspond au modèle d’expression régulière spécifié dans le match_regex champ par la chaîne spécifiée dans le replacement_regex champ.

    Détails
    Table Opération de remplacement d’expression régulière de l’entité RTE [sys_rte_eb_regex_replace_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur de chaîne.

    Champ de sortie target_sys_rte_eb_field

    La sortie est la chaîne remplacée.

    Champs supplémentaires
    • match_regex (chaîne, expression régulière)
    • replacement_regex (chaîne)
    Tableau 8. Exemple
    Entrée Résultat
    « String&With(Special)$Characters » avec match_regex="[^0-9a-zA-Z]+ » et replacement_regex= » » « Chaîne avec caractères spéciaux »

    Remplacer

    Remplace chaque sous-chaîne de la chaîne d’entrée qui correspond à la chaîne spécifiée dans le match_string champ par la chaîne spécifiée dans le replacement_string champ.

    Détails
    Table Opération de remplacement de l’entité RTE [sys_rte_eb_replace_operation
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur de chaîne.

    Champ de sortie target_sys_rte_eb_field

    La sortie est la chaîne remplacée.

    Champs supplémentaires
    • match_string (chaîne)
    • replacement_string (chaîne)
    Tableau 9. Exemple
    Entrée Résultat
    « Chaîne d’origine » avec match_string = « Original » et replacement_string= « Remplacement » « Chaîne de remplacement »

    Numérique arrondi

    Arrondit la valeur numérique entrée au nombre entier le plus proche. Les nombres autres que les nombres sont tronqués.

    Détails
    Table Opération numérique d’arrondi de l’entité RTE [sys_rte_eb_round_numeric_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur numérique.

    Champ de sortie target_sys_rte_eb_field

    La sortie est un nombre entier.

    Champs supplémentaires
    • match_string (chaîne)
    • replacement_string (chaîne)
    Tableau 10. Exemple
    Entrée Résultat
    « 1,5 » « 2 »
    « 1.4 » « 1 »
    « Je suis une corde » ""

    Opération du script

    Exécute un script avec une entrée et définit le target_sys_rte_eb_field champ comme sortie pour ce script.
    Remarque :
    Le type d’opération de script a été largement remplacé par l’opération de script multi-entrées et est inclus pour la rétrocompatibilité avec les configurations existantes.
    Détails
    Table Opération de script de l’entité RTE [sys_rte_eb_script_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est un script.

    Champ de sortie target_sys_rte_eb_field

    La sortie est le résultat du script d’entrée.

    Champs supplémentaires
    • script(script)
    • use_unique_input_sets (booléen) : lorsque la valeur est vrai, seules les valeurs d’entrée uniques sont incluses dans le lot de données pour le traitement IRE. Sinon, toutes les valeurs de champ de l’objet d’entrée sont incluses. Pour obtenir un exemple et pour plus de détails, consultez la transformation du script à entrées multiples.
    Le champ source est inclus dans la variable 'batch' en tant que champ JavaScript 'input'.
    (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); 
    Exemple :
    /* 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);
    */ 

    Poser

    Définit la valeur du target_sys_rte_eb_field champ sur la chaîne fournie dans le set_value champ.

    Détails
    Table Opération de définition de l’entité RTE [sys_rte_eb_set_operation]
    Champ de sortie target_sys_rte_eb_field

    La sortie est la valeur associée au set_value champ.

    Champs supplémentaires
    • set_value (chaîne)
    • overwrite_existing_value (facultatif, booléen) : lorsque la valeur est vrai, la valeur actuelle du champ cible est remplacée. Dans le cas contraire, une valeur non vide n’est pas remplacée.

    Définir Min/Max

    Définit le champ cible sur le maximum ou le minimum des valeurs de tous les champs d’entrée.

    Détails
    Table Opération min./max. de l’entité RTE [sys_rte_eb_min_max_operation]
    Champ d'entrée source_sys_rte_eb_fields

    L’entrée est un ensemble de valeurs.

    Champ de sortie target_sys_rte_eb_field

    La sortie est la valeur maximale ou minimale basée sur la min_max valeur.

    Champs supplémentaires
    • data_type (liste de choix avec des valeurs telles que STRING, NUMERIC et DATE)
    • min_max (liste de choix avec des valeurs telles que MIN et MAX)
    Tableau 11. Exemples
    Entrée Sortie
    "2", "-1", "0" 2
    « a », « b » c
    « 2 », « -1 », « 0 » -1
    « a », « b » a

    Fendre

    Divise la chaîne incluse dans la valeur d’entrée source_sys_rte_eb_field au niveau du séparateur spécifié dans le splitting_string champ et affecte le tableau de chaînes obtenu au champ, dans l’ordre target_sys_rte_eb_field .

    Détails
    Table Opération de division de l’entité RTE [sys_rte_eb_split_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur de chaîne.

    Champ de sortie target_sys_rte_eb_fields

    La sortie est une liste de sous-chaînes.

    Champs supplémentaires splitting_string (chaîne)
    Tableau 12. Exemple
    Entrée Résultat
    "valeur1||valeur2||value3 », splitting_string :"||" avec target_sys_rte_eb_fields {target1,target2,target3} target1 : valeur1, cible2 : valeur2, cible3 : valeur3
    "valeur1||valeur2||value3 », splitting_string :"||" avec target_sys_rte_eb_fields {target1} target1 : valeur1
    « value1 », splitting_string :"||" avec target_sys_rte_eb_fields {target1,target2,target3} target1 : value1, target2 : <null>, target3 : <null>

    Couper

    Supprime les espaces au début et à la fin de la chaîne incluse dans la valeur d’entrée source_sys_rte_eb_field et affecte le résultat au target_sys_rte_eb_field champ. Cette transformation est équivalente à la méthode String trim() Java.

    Détails
    Table Opération de découpage de l’entité RTE [sys_rte_eb_trim_operation
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur de chaîne.

    Champ de sortie target_sys_rte_eb_field

    La sortie correspond à la valeur de chaîne d’entrée, mais sans espaces de début et de fin.

    Tableau 13. Exemple
    Entrée Résultat
    « valeur 1 » « valeur 1 »

    Majuscule

    Remplace tous les caractères de la source_sys_rte_eb_field valeur d’entrée en majuscules et affecte le résultat au target_sys_rte_eb_field champ.

    Détails
    Table Opération de conversion en majuscules de l’entité RTE [sys_rte_eb_upper_case_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur de chaîne.

    Champ de sortie target_sys_rte_eb_field

    La sortie correspond à la valeur de chaîne en majuscules.

    Tableau 14. Exemple
    Entrée Résultat
    « valeur 1 » « VALEUR1 »

    Découpage des majuscules

    Combine à la fois les transformations Majuscule et Découpage.

    Détails
    Table Opération de découpage en majuscules de l’entité RTE [sys_rte_eb_upper_case_trim_operation]
    Champ d'entrée source_sys_rte_eb_field

    L’entrée est une valeur de chaîne.

    Champ de sortie target_sys_rte_eb_field

    La sortie correspond à une valeur de chaîne en majuscules sans aucun espace au début et à la fin.

    Tableau 15. Exemple
    Entrée Résultat
    « value1 » « VALEUR1 »