הגדרה בסיסית

בפריסה רגילה של Manufacturing Data Engine‏ (MDE) לא מוחלות הגדרות כברירת מחדל, וההגדרות האלה נדרשות כדי להתחיל בהטמעת נתונים.

במדריך הזה מוסבר איך להגדיר MDE בסיסי. לדוגמה, כדי לבדוק שהמערכת פועלת מקצה לקצה. בעזרת המדריך הזה תוכלו ליצור מחלקות, סוגים ומנתחים של הודעות לכל שלושת הארכיטיפים.

אם אתם מתכוונים להשתמש ב-Manufacturing Connect edge ‏ (MCe) כדי להטמיע נתונים, עליכם לפרוס במקום זאת את חבילת הגדרות ברירת המחדל.

כדי להשלים את ההגדרה הזו, אפשר להשתמש ב-MDE API או בממשק האינטרנט.

סוגי הודעות

בקטע הזה מובאות דוגמאות למחלקות ההודעות שזמינות ב-MDE.

סוג ההודעה עבור numeric

דוגמה למחלקת הודעות 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"
}

ממשק אינטרנט

שם מחלקת ההודעות: basic-numeric

  1. בממשק האינטרנט של MDE, לוחצים על Message Classes (סיווג הודעות).
  2. לוחצים על הוספת סוג הודעה חדש.
  3. ממלאים את שם מחלקת ההודעות כ-basic-numeric.
  4. מעתיקים את הביטוי הבא ומדביקים אותו בתיבה Expression:

       #root.event['value'] instanceof T(Number) && #root.event['timestamp'] != null && #root.event['tagName'] != null
    
  5. משנים את העדיפות ל-2000.

  6. לוחצים על יצירה.

    שאלות מסוג בחירה מרובה עם תשובה מספרית

סוג ההודעה עבור discrete

דוגמה למחלקת הודעות 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"
   }

ממשק אינטרנט

שם מחלקת ההודעות: basic-discrete

  1. בממשק האינטרנט של MDE, לוחצים על Message Classes (סיווג הודעות).
  2. לוחצים על הוספת סוג הודעה חדש.
  3. ממלאים את שם מחלקת ההודעות כ-basic-discrete.
  4. מעתיקים את הביטוי הבא ומדביקים אותו בתיבה Expression:

       #root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['timestamp'] != null  && #root.event['tagName'] != null
    
  5. משנים את העדיפות ל-1975.

  6. לוחצים על יצירה.

    Basic-discrete MC

סוג ההודעה עבור continuous

דוגמה למחלקת הודעות 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"
   }

ממשק אינטרנט

שם מחלקת ההודעות: basic-continuous

  1. בממשק האינטרנט של MDE, לוחצים על Message Classes (סיווג הודעות).
  2. לוחצים על הוספת סוג הודעה חדש.
  3. ממלאים את שם מחלקת ההודעות כ-basic-continuous.
  4. מעתיקים את הביטוי הבא ומדביקים אותו בתיבה Expression:

    #root.event['value'] != null && !(#root.event['value'] instanceof T(Number)) && #root.event['startTimestamp'] != null && #root.event['endTimestamp'] != null && #root.event['tagName'] != null
    
  5. משנים את העדיפות ל-1950.

  6. לוחצים על יצירה.

    מעקב רציף בסיסי

סוגים

בקטע הזה מופיעה סקירה כללית של הסוגים שזמינים ב-MDE.

סוג של numeric

דוגמה לסוג basic-numeric:

REST

POST /configuration/v1/types

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

ממשק אינטרנט

שם: basic-numeric

  1. בממשק האינטרנט של MDE, לוחצים על Types (סוגים).
  2. לוחצים על הוספת סוג חדש.
  3. ממלאים את השדה Type name (שם הסוג) בתור basic-numeric.
  4. בתפריט הנפתח של ארכיטיפ, בוחרים באפשרות NUMERIC_DATA_SERIES:

    סוג בסיסי-מספרי

  5. פותחים את הקטע הגדרות אחסון.

  6. מעבירים את המתג של האפשרות שליחה אל BigQuery.

  7. לוחצים על יצירה.

סוג של discrete

דוגמה לסוג basic-discrete:

REST

POST /configuration/v1/types

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

ממשק אינטרנט

שם: basic-discrete

  1. בממשק האינטרנט של MDE, לוחצים על Types (סוגים).
  2. לוחצים על הוספת סוג חדש.
  3. ממלאים את השדה Type name (שם הסוג) בתור basic-discrete.
  4. בתפריט הנפתח של ארכיטיפ, בוחרים באפשרות DISCRETE_DATA_SERIES:

    סוג Basic-discrete

  5. פותחים את הקטע הגדרות אחסון.

  6. מעבירים את המתג של האפשרות שליחה אל BigQuery.

  7. לוחצים על יצירה.

סוג של continuous

דוגמה לסוג basic-continuous:

REST

POST /configuration/v1/types

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

ממשק אינטרנט

שם: basic-continuous

  1. בממשק האינטרנט של MDE, לוחצים על Types (סוגים).
  2. לוחצים על הוספת סוג חדש.
  3. ממלאים את השדה Type name (שם הסוג) בתור basic-continuous.
  4. בתפריט הנפתח של ארכיטיפ, בוחרים באפשרות CONTINUOUS_DATA_SERIES:

    סוג Basic-continuous

  5. פותחים את הקטע הגדרות אחסון.

  6. מעבירים את המתג של האפשרות שליחה אל BigQuery.

  7. לוחצים על יצירה.

מנתחי נתונים

בקטע הזה יש סקירה כללית של מנתחי הנתונים השונים שזמינים ב-MDE. לפני שיוצרים את מנתחי הנתונים, צריך לוודא שהסוגים הוקצו במלואם ושהם active. התהליך הזה יכול להימשך עד שלוש דקות.

מנתח עבור numeric

דוגמה לניתוח של 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}"
}

ממשק אינטרנט

שם: basic-numeric-to-basic-numeric

  1. בממשק האינטרנט של MDE, לוחצים על Parsers (מנתחי נתונים).
  2. לוחצים על Add new Parser (הוספת כלי ניתוח חדש).
  3. מזינים את שם כלי הניתוח בתור basic-numeric-to-basic-numeric.
  4. בתפריט הנפתח של Message Class Name (שם מחלקת ההודעות), בוחרים באפשרות basic-numeric.
  5. מעתיקים את קוד Whistle הבא ומדביקים אותו בתיבה Parser (מנתח):

     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. בתפריט הנפתח Type (סוג), בוחרים באפשרות basic-numeric | version: 1.

  7. לוחצים על יצירה.

    מנתח בסיסי של נתונים מספריים

מנתח נתונים עבור discrete

דוגמה לניתוח של 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"
}

ממשק אינטרנט

שם: basic-discrete-to-basic-discrete

  1. בממשק האינטרנט של MDE, לוחצים על Parsers (מנתחי נתונים).
  2. לוחצים על Add new Parser (הוספת כלי ניתוח חדש).
  3. מזינים את שם כלי הניתוח בתור basic-numeric-to-basic-discrete.
  4. בתפריט הנפתח של Message Class Name (שם מחלקת ההודעות), בוחרים באפשרות basic-discrete.
  5. מעתיקים את קוד Whistle הבא ומדביקים אותו בתיבה Parser (מנתח):

     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. בתפריט הנפתח Type (סוג), בוחרים באפשרות basic-discrete | version: 1.

  7. לוחצים על יצירה.

    מנתח בסיסי-דיסקרטי

מנתח עבור continuous

דוגמה לניתוח של 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"
}

ממשק אינטרנט

שם: basic-continuous-to-basic-continuous

  1. בממשק האינטרנט של MDE, לוחצים על Parsers (מנתחי נתונים).
  2. לוחצים על Add new Parser (הוספת כלי ניתוח חדש).
  3. מזינים את שם כלי הניתוח בתור basic-numeric-to-basic-continuous.
  4. בתפריט הנפתח של Message Class Name (שם מחלקת ההודעות), בוחרים באפשרות basic-continuous.
  5. מעתיקים את קוד Whistle הבא ומדביקים אותו בתיבה Parser (מנתח):

     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. בתפריט הנפתח Type (סוג), בוחרים באפשרות basic-continuous | version: 1.

  7. לוחצים על יצירה.

    מנתח בסיסי רציף