Tutoriel : Ajout d'une constante

Dans ce tutoriel, vous ajoutez une constante et l'utilisez dans vos calculs depuis l'interface utilisateur.

Avant de commencer

  1. Installez Python 3.x dans votre environnement.
  2. Installez IoT Functions dans votre environnement local. Suivez les instructions dans le readme de IoT Functions.
    Astuce : Pour installer IoT Functions et ses dépendances, vous pouvez aussi suivre les étapes de la section Avant de commencer du Tutoriel : Ajout d'une fonction personnalisée. Clonez le module de démarrage HelloWorld et importez-le dans PyCharm. Installez les éléments requis depuis PyCharm. Remarque : Dans l'environnement bêta, pour installer ou mettre à niveau IoT Functions, utilisez la branche bêta. Sinon, utilisez la branche de production.
  3. Suivez le Tutoriel : Ajout d'expressions afin d'ajouter un indicateur clé de performance de type distance au type d'actif Robot dans Analytics Service.

A propos de cette tâche

Réglez la distance à prendre en compte pour un délai.

Etapes

Procédez comme suit pour appliquer un calcul qui fait référence à une valeur constante dans les exemples de données.

Etape 1 : Définir votre calcul

Définissez 'distance_adjusted_by_constant' comme suit :

df['distance_adjusted_by_constant'] = df['distance']*delay

Etape 2 : Sauvegarder vos données d'identification dans un fichier

Définissez les données d'identification pour la connexion à Analytics Service.

  1. Créez un fichier credentials_as.json dans votre répertoire de travail. Depuis l'interface utilisateur, accédez à l'onglet Services.
  2. Sélectionnez Watson IoT Platform Analytics et cliquez sur Afficher les détails.
  3. Dans la zone Variables d'environnement, cliquez sur Copier dans le presse-papiers.
  4. Collez le contenu du presse-papiers dans le fichier credentials_as.json.

Remarque : Veillez à ne pas sauvegarder le fichier de données d'identification dans un référentiel externe.

Etape 3 : Créer la constante

Ecrivez un script, create_constant.py, qui ajoute une constante, delay à Analytics Service et l'exécute.

  #Import packages and libraries

  import logging
  logging.basicConfig(level=logging.DEBUG)
  logger = logging.getLogger(__name__)
  import pandas as pd
  import json
  #Import these classes from IoT Functions
  from iotfunctions.db import Database
  from iotfunctions.ui import UISingle,UIMulti

  #Connect to the service
  with open('credentials_as.json', encoding='utf-8') as F:
    credentials = json.loads(F.read())
  db_schema = None
  db = Database(credentials=credentials)

  #Connect to the service
  db = Database(credentials = credentials)

  #Define how the constant is represented on the UI using UISingle
  delay = UISingle(name='delay',
                   description= 'Adjustment to output due to delay',
                   datatype=float)

  #Register the constant using the database object
  db.register_constants([delay])

Etape 4 : Définir la valeur de la constante à partir de l'interface utilisateur

  1. Dans l'onglet Configurer les actifs de l'interface utilisateur, sélectionnez un type d'actif et cliquez sur Gérer le type d'actif.
  2. Cliquez sur l'icône représentant un engrenage (Configurer).
  3. Sélectionnez l'option de menu Gérer les constantes. Une liste de constantes s'affiche.
  4. Sélectionnez delay et cliquez sur Configurer.
  5. Affectez la valeur 2 et cliquez sur Sauvegarder.

Etape 5 : Référencer la constante dans une expression

  1. Dans l'onglet Données, cliquez sur Capture d'écran du bouton de création de nouvel élément de données..
  2. Sélectionnez la fonction PythonExpression dans le catalogue.
  3. Entrez ou collez l'expression suivante :
        df['distance']*c['delay']
    
  4. Cliquez sur Suivant.
  5. Sur la page de résultat, indiquez distance_adjusted_by_factor comme nouveau nom de l'indicateur clé de performance.
  6. Cliquez sur Créer.
  7. Affichez les nouvelles données de métrique distance_adjusted_by_factor dans le volet Détails & données dérivées.

Patientez 5 minutes le temps que Analytics Service évalue l'expression par rapport aux exemples de données.

(Facultatif) Etape 6 : Annuler l'enregistrement de la constante

Ecrivez un script unregister_constant.py et exécutez-le. L'annulation de l'enregistrement de la constante a un impact sur tout calcul qui utilise cette constante.

  #Import packages and libraries

  import logging
  logging.basicConfig(level=logging.DEBUG)
  logger = logging.getLogger(__name__)
  import pandas as pd
  import json
  #Import these classes from IoT Functions
  from iotfunctions.db import Database
  from iotfunctions.ui import UISingle,UIMulti

  #Connect to the service
  with open('credentials_as.json', encoding='utf-8') as F:
    credentials = json.loads(F.read())
  db_schema = None
  db = Database(credentials=credentials)

  #Connect to the service
  db = Database(credentials = credentials)

  #Unregister the constant using the database object
  db.unregister_constants(['delay'])