Guía de aprendizaje: adición de una constante
En esta guía de aprendizaje, está añadiendo una constante y utilizándola en una métrica de datos por lotes. Las métricas de datos en modalidad continua no utilizan constantes.
Antes de empezar
- Instale Python 3.9.x en el entorno.
- Instale las funciones de IoT en su entorno local. Siga las instrucciones del documento Léame de las funciones de IoT.
De forma alternativa, para instalar las funciones de IoT y sus dependencias, puede seguir los pasos de la sección Antes de empezar de Guía de aprendizaje: adición de una función personalizada. Clone el paquete iniciador HelloWorld e importe el paquete iniciador en PyCharm. Instale los requisitos de PyCharm. - Tutorial completo: Agregar expresiones para agregar un
distance
métrica al tipo de dispositivo robot en Maximo Monitor.
Acerca de esta tarea
Ajuste la distancia para explicar un retraso.
Pasos
Complete estos pasos para aplicar un cálculo que haga referencia a un valor constante en los datos de ejemplo.
Paso 1: definir el cálculo
Defina 'distance_adjusted_by_constant' de la siguiente manera:
df['distance_adjusted_by_constant'] = df['distance']*delay
Paso 2: guardar las credenciales en un archivo
Establecer credenciales para conectarse a Maximo Monitor.
- Descargue el archivo
credentials_as.json
. - Sustituya las variables por los datos y, a continuación, guarde el archivo en la máquina local.
Paso 3: Crear constante global
Ejecute la API POST constante con la siguiente carga útil
[
{
"name": "ArrayConstant",
"enabled": true,
"value": {
"value": [
"A",
]
},
"metadata": {
"jsonSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"dataType": "ARRAY",
"values": [
"A",
"B",
"C"
],
"description": "Sample multi-valued array",
"dataTypeForArray": [
"LITERAL"
],
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
{
"name": "alpha",
"enabled": true,
"value": {
"value": 4
},
"metadata": {
"dataType": "NUMBER",
"values": null,
"description": "general purpose numeric constant",
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
{
"name": "delay",
"enabled": true,
"value": {
"value": 120
},
"metadata": {
"dataType": "NUMBER",
"values": null,
"description": "Adjustment to output due to delay",
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
{
"name": "text",
"enabled": true,
"value": {
"value": "ABC"
},
"metadata": {
"dataType": "LITERAL",
"values": null,
"description": "This is string text",
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
{
"name": "json",
"enabled": true,
"value": {
"value": {
"A": "B",
"B": "A",
"C": {
"A": "B",
"B": "A"
}
}
},
"metadata": {
"dataType": "JSON",
"values": null,
"description": "This is JSON text",
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
{
"name": "Gamma",
"enabled": true,
"value": {
"value": 5
},
"metadata": {
"dataType": "NUMBER",
"values": null,
"description": "general purpose numeric constant",
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
]
Paso 4: establecer el valor de la constante de desde la interfaz de usuario
- En la página Configuración , en la pestaña Dispositivos , seleccione un tipo de dispositivo y pulse Configurar tipo de dispositivo.
- Pulse el icono Configurar tipo de dispositivo y, a continuación, seleccione Gestionar restricciones.
- Para la restricción
delay
, pulse el icono Editar. - Asigne el valor 2 y pulse Guardar.
Paso 5: hacer referencia a la constante en una expresión
- En la pestaña Datos , pulse Crear métrica
- Seleccione la función
PythonExpression
en el catálogo. - Establezca el ámbito y, a continuación, pulse Siguiente.
- Especifique o pegue en la siguiente expresión:
df['distance']*c['delay']
- Haga clic en Siguiente.
- Especifique
distance_adjusted_by_factor
como salida. - Pulse Crear
- Ver los nuevos datos de métrica de
distance_adjusted_by_factor
.
Espere hasta 5 minutos para Maximo Monitor evalúe la expresión con los datos de la muestra.
Pasos para actualizar, revertir y eliminar valores constantes
Siga estos pasos para actualizar, revertir los valores de las constantes o eliminar una constante
Actualizar el valor predeterminado global
- En la página Configuración, en la pestaña Dispositivos, seleccione un tipo de dispositivo y haga clic en él.
- Pulse el icono Configurar tipo de dispositivo y, a continuación, seleccione Gestionar restricciones.
- En el cuadro de diálogo Constantes, sitúe el cursor sobre la constante, seleccione más acciones y, a continuación, seleccione Cambiar valor global por defecto
- Asigne un valor y haga clic en Guardar.
Actualizar constantes de nivel de recursos
- En la página Configuración, en la pestaña Dispositivos, seleccione un tipo de dispositivo y haga clic en él.
- Pulse el icono Configurar tipo de dispositivo y, a continuación, seleccione Gestionar restricciones.
- En el cuadro de diálogo Constantes, sitúe el cursor sobre la constante y seleccione Editar
- Asigne un valor y haga clic en Guardar.
Revertir la constante de nivel de recurso al valor global por defecto
- En la página Configuración, en la pestaña Dispositivos, seleccione un tipo de dispositivo y haga clic en él.
- Pulse el icono Configurar tipo de dispositivo y, a continuación, seleccione Gestionar restricciones.
- En el cuadro de diálogo Constantes, sitúe el cursor sobre la constante y seleccione Editar
- Elija la opción Volver al valor global por defecto.
- Seleccione Revertir para confirmar su elección.
Paso opcional : Anular el registro de la constante
Escriba un script unregister_constant.py
y ejecútelo. Anular el registro de la constante afecta a cualquier cálculo que utilice esta 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 Maximo Monitor
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 Maximo Monitor
db = Database(credentials = credentials)
#Unregister the constant using the database object
db.unregister_constants(['delay'])
Paso opcional: Borrar la constante de nivel de recurso o de nivel global
- En la página Configuración, en la pestaña Dispositivos, seleccione un tipo de dispositivo y haga clic en él.
- Pulse el icono Configurar tipo de dispositivo y, a continuación, seleccione Gestionar restricciones.
- En el cuadro de diálogo Constantes, pase el ratón por encima de la constante, seleccione más acciones y, a continuación, elija Eliminar constante
- Seleccione Eliminar para confirmar su elección.