Configuration de base

Le déploiement standard de Manufacturing Data Engine (MDE) n'applique aucun paramètre de configuration par défaut, qui sont nécessaires pour commencer à ingérer des données.

Ce guide vous explique comment configurer un environnement de développement mobile de base. Par exemple, pour tester le bon fonctionnement du système de bout en bout. Ce guide vous permet de créer des classes, des types et des analyseurs de messages pour les trois archétypes.

Si vous prévoyez d'utiliser Manufacturing Connect Edge (MCe) pour ingérer des données, déployez plutôt le package de configuration par défaut.

Vous pouvez utiliser l'API MDE ou l'interface Web pour effectuer cette configuration.

Classes de messages

Cette section fournit des exemples de classes de messages disponibles dans MDE.

Classe de message pour numeric

Voici un exemple de classe de message basic-numeric :

REST

POST /configuration/v1/message-classes

{
   "name": "basic-numeric",
   "priority": 2000,
   "expression": "#root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != null"
}

Interface Web

Nom de la classe du message : basic-numeric

  1. Dans l'interface Web MDE, cliquez sur Classes de messages.
  2. Cliquez sur Ajouter une classe de message.
  3. Saisissez basic-numeric dans le champ Message Class name (Nom de la classe de message).
  4. Copiez l'expression suivante et collez-la dans la zone Expression :

       #root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != null
    
  5. Définissez la priorité sur 2000.

  6. Cliquez sur Créer.

    CM numérique de base

Classe de message pour discrete

Voici un exemple de classe de message basic-discrete :

REST

POST /configuration/v1/message-classes

   {
      "name": "basic-discrete",
      "priority": 1975,
      "expression": "#root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['timestamp'] != null && #root.event['tagName'] != null"
   }

Interface Web

Nom de la classe du message : basic-discrete

  1. Dans l'interface Web MDE, cliquez sur Classes de messages.
  2. Cliquez sur Ajouter une classe de message.
  3. Saisissez basic-discrete dans le champ Message Class name (Nom de la classe de message).
  4. Copiez l'expression suivante et collez-la dans la zone Expression :

       #root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['timestamp'] != null  && #root.event['tagName'] != null
    
  5. Définissez la priorité sur 1975.

  6. Cliquez sur Créer.

    MC de base et discrète

Classe de message pour continuous

Voici un exemple de classe de message basic-continuous :

REST

POST /configuration/v1/message-classes

   {
      "name": "basic-continuous",
      "priority": 1950,
      "expression": "#root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['startTimestamp'] != null && #root.event['endTimestamp'] != null && #root.event['tagName'] != null"
   }

Interface Web

Nom de la classe du message : basic-continuous

  1. Dans l'interface Web MDE, cliquez sur Classes de messages.
  2. Cliquez sur Ajouter une classe de message.
  3. Saisissez basic-continuous dans le champ Message Class name (Nom de la classe de message).
  4. Copiez l'expression suivante et collez-la dans la zone Expression :

    #root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['startTimestamp'] != null && #root.event['endTimestamp'] != null && #root.event['tagName'] != null
    
  5. Définissez la priorité sur 1950.

  6. Cliquez sur Créer.

    MC de base et continue

Types

Cette section présente les types disponibles dans MDE.

Type pour numeric

Voici un exemple de type basic-numeric :

REST

POST /configuration/v1/types

{
   "archetype": "NUMERIC_DATA_SERIES",
   "name": "basic-numeric"
}

Interface Web

Nom : basic-numeric

  1. Dans l'interface Web MDE, cliquez sur Types.
  2. Cliquez sur Add new Type (Ajouter un type).
  3. Dans le champ Nom du type, saisissez basic-numeric.
  4. Sélectionnez NUMERIC_DATA_SERIES dans le menu déroulant Archétype :

    Type numérique de base

  5. Ouvrez la section Paramètres de stockage.

  6. Activez l'option Envoyer à BigQuery.

  7. Cliquez sur Créer.

Type pour discrete

Voici un exemple de type basic-discrete :

REST

POST /configuration/v1/types

{
   "archetype": "DISCRETE_DATA_SERIES",
   "name": "basic-discrete"
}

Interface Web

Nom : basic-discrete

  1. Dans l'interface Web MDE, cliquez sur Types.
  2. Cliquez sur Add new Type (Ajouter un type).
  3. Dans le champ Nom du type, saisissez basic-discrete.
  4. Sélectionnez DISCRETE_DATA_SERIES dans le menu déroulant Archétype :

    Type Basic-discrete

  5. Ouvrez la section Paramètres de stockage.

  6. Activez l'option Envoyer à BigQuery.

  7. Cliquez sur Créer.

Type pour continuous

Voici un exemple de type basic-continuous :

REST

POST /configuration/v1/types

{
   "archetype": "CONTINUOUS_DATA_SERIES",
   "name": "basic-continuous"
}

Interface Web

Nom : basic-continuous

  1. Dans l'interface Web MDE, cliquez sur Types.
  2. Cliquez sur Add new Type (Ajouter un type).
  3. Dans le champ Nom du type, saisissez basic-continuous.
  4. Sélectionnez CONTINUOUS_DATA_SERIES dans le menu déroulant Archétype :

    Type de base continu

  5. Ouvrez la section Paramètres de stockage.

  6. Activez l'option Envoyer à BigQuery.

  7. Cliquez sur Créer.

Analyseurs

Cette section présente les différents analyseurs disponibles dans MDE. Assurez-vous que les types sont entièrement provisionnés et active avant de créer les analyseurs. Cette opération peut prendre jusqu'à trois minutes.

Analyseur pour numeric

Voici un exemple d'analyseur basic-numeric :

REST

POST /configuration/v1/parsers

{
   "name": "basic-numeric-to-basic-numeric",
   "messageClassName": "basic-numeric",
   "typeReference": {
         "name": "basic-numeric",
         "version": 1
   },
   "script": "package mde\n\n[{\ntagName: $root.tagName;\ntimestamps: MapTimestamp($root);\ndata: MapData($root);\nembeddedMetadata: $root[where ($.field != \"value\" and $.field != \"tagName\" and $.field != \"timestamp\" and $.field != \"messageId\")];\n}]\n\ndef MapTimestamp(input) {\n    eventTimestamp: input.timestamp;\n}\n\ndef MapData(input) {\n    numeric: input.value;\n}"
}

Interface Web

Nom : basic-numeric-to-basic-numeric

  1. Dans l'interface Web MDE, cliquez sur Parsers (Analyseurs).
  2. Cliquez sur Ajouter un analyseur.
  3. Renseignez le champ Nom du parseur avec la valeur basic-numeric-to-basic-numeric.
  4. Sélectionnez basic-numeric dans le menu déroulant Nom de la classe de message.
  5. Copiez et collez le code Whistle suivant dans la zone Analyseur :

     package mde
    
     [{
     tagName: $root.tagName;
     timestamps: MapTimestamp($root);
     data: MapData($root);
     embeddedMetadata: $root[where ($.field != "value" and $.field != "tagName" and $.field != "timestamp" and $.field != "messageId")];
     }]
    
     def MapTimestamp(input) {
        eventTimestamp: input.timestamp;
     }
    
     def MapData(input) {
        numeric: input.value;
     }
    
  6. Sélectionnez basic-numeric | version: 1 dans le menu déroulant Type.

  7. Cliquez sur Créer.

    Analyseur numérique de base

Analyseur pour discrete

Voici un exemple d'analyseur basic-discrete :

REST

POST /configuration/v1/parsers

{
   "name": "basic-discrete-to-basic-discrete",
   "messageClassName": "basic-discrete",
   "typeReference": {
         "name": "basic-discrete",
         "version": 1
   },
   "script": "package mde\n\n[{\ntagName: $root.tagName;\ntimestamps: MapTimestamp($root);\ndata: MapData($root);\nembeddedMetadata: $root[where ($.field != \"value\" and $.field != \"tagName\" and $.field != \"timestamp\" and $.field != \"messageId\")];\n}]\n\ndef MapTimestamp(input) {\n    eventTimestamp: input.timestamp;\n}\n\ndef MapData(input) {\n    complex: input.value;\n}\n"
}

Interface Web

Nom : basic-discrete-to-basic-discrete

  1. Dans l'interface Web MDE, cliquez sur Parsers (Analyseurs).
  2. Cliquez sur Ajouter un analyseur.
  3. Renseignez le champ Nom du parseur avec la valeur basic-numeric-to-basic-discrete.
  4. Sélectionnez basic-discrete dans le menu déroulant Nom de la classe de message.
  5. Copiez et collez le code Whistle suivant dans la zone Analyseur :

     package mde
    
     [{
     tagName: $root.tagName;
     timestamps: MapTimestamp($root);
     data: MapData($root);
     embeddedMetadata: $root[where ($.field != "value" and $.field != "tagName" and $.field != "timestamp" and $.field != "messageId")];
     }]
    
     def MapTimestamp(input) {
        eventTimestamp: input.timestamp;
     }
    
     def MapData(input) {
        complex: input.value;
     }
    
  6. Sélectionnez basic-discrete | version: 1 dans le menu déroulant Type.

  7. Cliquez sur Créer.

    Analyseur de base discret

Analyseur pour continuous

Voici un exemple d'analyseur basic-continuous :

REST

POST /configuration/v1/parsers

{
   "name": "basic-continuous-to-basic-continuous",
   "messageClassName": "basic-continuous",
   "typeReference": {
         "name": "basic-continuous",
         "version": 1
   },
   "script": "package mde\n\n[{\ntagName: $root.tagName;\ntimestamps: MapTimestamp($root);\ndata: MapData($root);\nduration: $root.duration;\nembeddedMetadata: $root[where ($.field != \"value\" and $.field != \"tagName\" and $.field != \"startTimestamp\" and $.field != \"endTimestamp\" and $.field != \"messageId\")];\n}]\n\ndef MapTimestamp(input) {\n    continuousTimestamp: {\n        eventTimestampStart: input.startTimestamp;\n        eventTimestampEnd: input.endTimestamp;\n    };\n}\n\ndef MapData(input) {\n    complex: input.value;\n}\n"
}

Interface Web

Nom : basic-continuous-to-basic-continuous

  1. Dans l'interface Web MDE, cliquez sur Parsers (Analyseurs).
  2. Cliquez sur Ajouter un analyseur.
  3. Renseignez le champ Nom du parseur avec la valeur basic-numeric-to-basic-continuous.
  4. Sélectionnez basic-continuous dans le menu déroulant Nom de la classe de message.
  5. Copiez et collez le code Whistle suivant dans la zone Analyseur :

     package mde
    
     [{
     tagName: $root.tagName;
     timestamps: MapTimestamp($root);
     data: MapData($root);
     duration: $root.duration;
     embeddedMetadata: $root[where ($.field != "value" and $.field != "tagName" and $.field != "startTimestamp" and $.field != "endTimestamp" and $.field != "messageId")];
     }]
    
     def MapTimestamp(input) {
        continuousTimestamp: {
           eventTimestampStart: input.startTimestamp;
           eventTimestampEnd: input.endTimestamp;
        };
     }
    
     def MapData(input) {
        complex: input.value;
     }
    
  6. Sélectionnez basic-continuous | version: 1 dans le menu déroulant Type.

  7. Cliquez sur Créer.

    Analyseur de base continu