- Notas relacionadas
- Primeros pasos
- Instalación
- Requisitos de hardware y software
- Instalación del servidor
- Actualizar la licencia
- Implementar el perfilador de UiPath Process Mining
- Implementar un conector (.mvp)
- Actualizar UiPath Process Mining
- Actualizar una versión personalizada de una aplicación o un acelerador de descubrimiento
- Instalar un entorno de pruebas
- Configuración
- Integraciones
- Autenticación
- Working with Apps and Discovery Accelerators
- Menús y paneles de AppOne
- Configuración de AppOne
- Menús y paneles de TemplateOne 1.0.0
- Configuración de TemplateOne 1.0.0
- TemplateOne menus and dashboards
- Configuración de TemplateOne 2021.4.0
- Menús y paneles de Purchase to Pay Discovery Accelerator
- Configuración del acelerador de compra para pagar
- Menús y paneles de Order to Cash Discovery Accelerator
- Orden de cobro de la configuración del Discovery Accelerator
- Basic Connector for AppOne
- Despliegue del Conector básico
- Introduction to Basic Connector
- Tablas de entrada del conector básico
- Añadir etiquetas
- Añadir estimaciones de automatización
- Añadir fechas de vencimiento
- Añadir modelos de referencia
- Setting up Actionable Insights
- Configurar gráficos contraíbles
- Utilizar el conjunto de datos de salida en AppOne
- Output tables of the Basic Connector
- SAP Connectors
- Introduction to SAP Connector
- Entrada de SAP
- Comprobación de los datos en el conector SAP
- Añadir etiquetas específicas del proceso al conector de SAP para AppOne
- Añadir fechas de vencimiento específicas del proceso al conector de SAP para AppOne
- Añadir estimaciones de automatización al conector de SAP para AppOne
- Añadir atributos al Conector SAP para AppOne
- Añadir actividades al Conector SAP para AppOne
- Añadir entidades al Conector SAP para AppOne
- Conector de pedido por cobro de SAP para AppOne
- Conector de SAP Purchase to Pay para AppOne
- Conector SAP para Purchase to Pay Discovery Accelerator
- SAP Connector for Order-to-Cash Discovery Accelerator
- Superadmin
- Paneles y gráficos
- Tablas y elementos de tabla
- Integridad de la aplicación
- How to ....
- Rebrand and restyle Apps and Discovery Accelerators
- Utilice la fragmentación en sus aplicaciones
- Example: Creating a Python Script
- Example: Creating an R Script
- Crear un conjunto de datos anónimo
- Configuración de actualizaciones de datos automatizadas
- Utilice una matriz de acceso para habilitar el acceso basado en roles a los datos
- Trabajar con conectores SQL
- Introduction to SQL connectors
- Setting up a SQL connector
- CData Sync extractions
- Running a SQL connector
- Editing transformations
- Publicar un conector SQL
- Scheduling data extraction
- Estructura de las transformaciones
- Using SQL connectors for released apps
- Generating a cache with scripts
- Setting up a local test environment
- Separate development and production environments
- Recursos útiles
Guía del usuario de Process Mining
Introducción
Este ejemplo explica cómo interconectar la plataforma UiPath Process Mining con scripts de Python externos para implementar el procesamiento de datos externo.
Los ejemplos de esta sección se basan en la versión 3 de Python.
Información general de alto nivel
Se crea un script de Python que:
- toma como entrada un archivo
.CSV, que se especificará en su línea de comandos como único argumento requerido, - multiplica el valor de Cantidad por dos,
- escribe el resultado en su canal de salida estándar.
Pasos
- Configurar los ajustes del servidor;
- Configurar el espacio de trabajo;
- Configurar una fuente de datos de script;
- Configurar el origen de datos;
- Escribiendo el script.
Configurar los Ajustes de servidor
El origen de datos de script genérico requiere controladores para todos los procesos externos que desea ejecutar.
Sigue estos pasos para añadir un controlador de script genérico.
| Paso | Acción |
|---|---|
| 1 | Ve a la pestaña Ajustes de superadministrador. |
| 2 | Añade un campo GenericScriptHandlers con como valor un objeto con una clave, "py", que tiene como valor la ruta a tu ejecutable de Python. Por ejemplo: "GenericScriptHandlers": { "py": "P:/Python/bin/python.exe" } |
| 3 | Haz clic en GUARDAR. |
Configurar el espacio de trabajo
Comienza creando un script mínimo que aún no realice ningún procesamiento de datos. Este script se utilizará para verificar que tu configuración de Python funciona y que tu script se llama desde la plataforma UiPath Process Mining .
Este script de ejemplo muestra cómo generar una salida que aparecerá en el registro de ejecución del script y cómo el código de salida de un script influye en el comportamiento de la plataforma UiPath Process Mining .
| Paso | Acción |
|---|---|
| 1 | En su editor favorito, cree un archivo de texto en blanco. |
| 2 | Introduce el siguiente texto: Nota: el comando |
| 3 | Guarda el archivo de texto como script.py . |
| 4 | Cargue el archivo script.py a su espacio de trabajo. |
Este script solo imprime un mensaje de "¡Hola, mundo!" mensaje. La interfaz del script utiliza la salida estándar para la comunicación de datos desde el script a la plataforma UiPath Process Mining . Si quieres incluir mensajes de estado en tu script, debes escribirlos en error estándar .
El script de ejemplo sale con el código de estado 1. Cualquier código de estado distinto de 0 será interpretado por la plataforma UiPath Process Mining como una condición de error.
Configurar un origen de datos Script
A continuación, configure una tabla de fuentes de datos en la aplicación que llamará al script. Comience con algunos datos ficticios, ya que su script aún no los procesará. En esta etapa, se verificará que el script se ejecuta como se esperaba, es decir, que puede ver el mensaje "¡Hola, mundo!" Mensaje
| Paso | Acción |
|---|---|
| 1 | Abra la aplicación en su entorno de desarrollo. |
| 2 | Ve a la pestaña Datos y crea una nueva tabla de cadenas de conexión. |
| 3 | Cambia el nombre de New_table a PythonExample . |
| 4 | Haz clic derecho en la tabla PythonExample y selecciona Avanzado > Opciones... . |
| 5 | En el cuadro de diálogo Opciones de tabla , establece el Ámbito de la tabla en Espacio de trabajo . |
| 6 | Haz doble clic en la tabla PythonExample para abrir la ventana Editar tabla de cadenas de conexión . |
| 7 | Introduce lo siguiente como Cadena de conexión : ``'driver={mvscript |
| 8 | Introduce lo siguiente como Consulta : `` ''
El "n. ° 10" en el ejemplo inputData indica caracteres de nueva línea. Es decir definimos los siguientes datos CSV ficticios:
|
| 9 | Haz clic en Aceptar. |
| 10 | Haz clic en SI. |
La actualización de la tabla falla y en el registro de errores debería ver el mensaje "¡Hola, mundo!" mensaje
La ubicación del archivo de script está determinada por el ámbito de la tabla. Esto se puede establecer en Servidor o Espacio de trabajo, o Ninguno. Si se establece en Ninguno, la ruta al archivo de script es absoluta. Si se establece en Servidor o Espacio de trabajo, la ubicación del script se interpreta como una ruta relativa.
Debe obtener el mensaje "¡Hola, mundo!" ejemplo trabajando para poder completar con éxito los pasos restantes para configurar una interfaz con un script de python externo.
Configurar el origen de datos
Para exportar los datos que desea procesar en un script externo, el primer paso es seleccionar los campos que necesita en su script de Python. La forma de hacerlo es creando una nueva tabla que contenga todos los campos que necesita el script de Python. Esta tabla se exportará en formato .CSV más adelante para que el script de Python pueda leerla.
Para este ejemplo, tenemos una aplicación con una tabla Casos y una tabla Eventos . Consulta la siguiente ilustración.
Sigue estos pasos.
| Paso | Acción |
|---|---|
| 1 | Crea una nueva tabla global , PythonInputData. |
| 2 | Agregue un nuevo atributo de expresión, PythonInputData_Amount. |
| 3 | Establece el Tipo en Búsqueda. |
| 4 | Establece la tabla de entrada en Cases_base. |
| 5 | Establece la expresión en listtojson(text(double(records.Amount))). |
| 6 | Establece el nivel de expresión en root. |
| 7 | Haz clic en Aceptar. |
| 8 | Añade otro atributo de expresión de búsqueda, para Case_ID. Establece la expresión en listtojson(text(double(records.Case_ID))). |
El formato del atributo de expresión de búsqueda debe ser una lista de cadenas. Esto se debe a que la función csvtable() se utilizará para transformar los datos en formato .CSV , que espera una lista de registros (de texto). Dado que la función listtojson() requiere que su entrada sea de tipo texto, el formato de los registros en el archivo CSV resultante depende del tipo de atributo seleccionado (en este caso, Importe es del tipo Moneda) y de la visualización actualmente activa formato. Aquí, el tipo de moneda se convierte en doble, para facilitar el análisis de los registros más adelante en el script de Python.
Escribir el Script
En tu editor de texto, actualiza el archivo script.py con el siguiente código.
#!/usr/bin/pytho
import csv
import sys
def debug(message):
sys.stderr.write(message)
# Read the CSV header. This is used so that the script will output the fields
# in the same order that they were read in. This step is optional.
column_order = [];
with open(sys.argv[1]) as csv_file:
reader = csv.reader(csv_file, delimiter=';')
column_order = next(reader)
# Process the input file
with open(sys.argv[1]) as csv_file:
reader = csv.DictReader(csv_file, delimiter=';')
# Construct the output writer.
writer = csv.DictWriter(
sys.stdout,
column_order,
delimiter=';',
restval='',
quoting=csv.QUOTE_ALL
)
writer.writeheader()
for row in reader:
# Get data from row
case_id = row['Case_ID']
amount = int(row['Amount'])
# Do computation
amount = amount * 2
# Write results
writer.writerow({'Case_ID': case_id, 'Amount': amount})
# Exit indicating success
exit(0)
#!/usr/bin/pytho
import csv
import sys
def debug(message):
sys.stderr.write(message)
# Read the CSV header. This is used so that the script will output the fields
# in the same order that they were read in. This step is optional.
column_order = [];
with open(sys.argv[1]) as csv_file:
reader = csv.reader(csv_file, delimiter=';')
column_order = next(reader)
# Process the input file
with open(sys.argv[1]) as csv_file:
reader = csv.DictReader(csv_file, delimiter=';')
# Construct the output writer.
writer = csv.DictWriter(
sys.stdout,
column_order,
delimiter=';',
restval='',
quoting=csv.QUOTE_ALL
)
writer.writeheader()
for row in reader:
# Get data from row
case_id = row['Case_ID']
amount = int(row['Amount'])
# Do computation
amount = amount * 2
# Write results
writer.writerow({'Case_ID': case_id, 'Amount': amount})
# Exit indicating success
exit(0)
Sigue los siguientes pasos.
| Paso | Acción |
|---|---|
| 1 | Carga el nuevo script en el espacio de trabajo, sobrescribe el archivo existente y vuelve a la aplicación. |
| 2 | Haz clic derecho en la tabla PythonExample y selecciona Editar.... |
| 3 | Modifica el parámetro inputData de la cadena de consulta para la tabla PythonExample : + '&inputData=' + urlencode(csvtable( "Case_ID", jsontolist(PythonInputData.Case_ID), "Amount" , jsontolist(PythonInputData.Amount), )) Consulta la siguiente ilustración. |
| 4 | Haz clic en Aceptar. |
| 5 | Haz clic en SÍ (2x). |
| 6 | Haz clic en Aceptar. |
La tabla PythonExample ahora tiene dos atributos de origen de datos, Cantidad y Case_ID. Consulta la siguiente ilustración.
La inspección del atributo Cantidad revela que todas las cantidades se han multiplicado por dos. Consulta la siguiente ilustración, un ejemplo de la salida generada por el script python.