Actualizar los archivos de salida del flujo desde la línea de comandos

Nota: el contenido de este tema solo se aplica a Tableau Prep Builder.

Puede ejecutar el flujo desde la línea de comandos para actualizar la salida de flujo en lugar de ejecutar el flujo desde Tableau Prep Builder. Puede ejecutar un flujo a la vez utilizando este método. Esta opción está disponible tanto en equipos Windows como Mac donde esté instalado Tableau Prep Builder.

Nota: si utiliza la autenticación de inicio de sesión único, la ejecución de flujos desde la línea de comandos no está disponible. En su lugar, puede ejecutar los flujos desde Tableau Prep Builder.

Limitaciones del conector:

  • Conectores JDBC u ODBC: los flujos que incluyen estos conectores se pueden ejecutar desde la línea de comandos a partir de la versión 2019.2.3.
  • Conectores de nube: los flujos que incluyen conectores de nube, como Google BigQuery, no se pueden ejecutar desde la línea de comandos. En lugar de eso, ejecute el flujo manualmente o ejecútelo en un programa de Tableau Server o Tableau Online mediante Tableau Prep Conductor. Para obtener más información, consulte Mantenga los datos de flujo actualizados.

En equipos Windows, también puede usar el Programador de tareas de Windows para programar este proceso. Para obtener más información, consulte Programador de tareas(Link opens in a new window) en las páginas de ayuda en línea de Microsoft.

Al ejecutar flujos desde la línea de comandos, Tableau Prep Builder actualiza todas las salidas del flujo utilizando la configuración de los pasos de salida especificados en Tableau Prep Builder. Para obtener más información sobre cómo especificar sus ubicaciones de salida, consulte Crear archivos de extracción de datos y fuentes de datos publicadas(Link opens in a new window). Para obtener información sobre cómo establecer las opciones de escritura (versión 2020.2.1 y posteriores), consulte Configurar opciones de escritura.

Antes de ejecutar el flujo

Para ejecutar el flujo desde la línea de comandos, necesitará privilegios de administrador en el equipo donde está ejecutando el flujo y necesitará la siguiente información:

  • La ruta donde está instalado Tableau Prep Builder.

  • Si se va a conectar a bases de datos y publicar archivos de salida en un servidor o a una base de datos (versión 2020.1.1 y posteriores), se necesita un archivo de credenciales .json que incluya todas las credenciales necesarias.

  • La ruta en la que se encuentre el archivo de flujo de Tableau (.tfl).

Requisitos del archivo .json de credenciales

Nota: los archivos de credenciales .json no son necesarios si el flujo tiene su entrada y salida en archivos locales, archivos almacenados en la red o archivos de entrada que usen la autenticación de Windows (SSPI). Para obtener más información sobre la Autenticación de Windows, consulte SSPI Model(Link opens in a new window) en la ayuda en línea de Microsoft.

Tableau Prep Builder usa la información del archivo de flujo y el archivo .json de credenciales para ejecutar el flujo cuando tenga conexiones remotas. Por ejemplo, el nombre de la base de datos de sus conexiones remotas y el nombre del proyecto de sus archivos de salida provienen del flujo, y el nombre del servidor y las credenciales de inicio de sesión provienen del archivo .json de credenciales.

  • Si tiene previsto volver a utilizar el archivo, colóquelo en una carpeta en la que el proceso de instalación de Tableau Prep Builder no lo sobrescriba.
  • Si está ejecutando un flujo que incluye cualquiera de los siguientes, debe incluir un archivo .json que incluya las credenciales necesarias para conectarse.
    • Conexiones a archivos de bases de datos o a fuentes de datos publicadas.
    • La salida se publica en un servidor o en una base de datos (versión 2020.3.1 y posteriores).
    • El flujo incluye pasos de script para Rserve o TabPy. El archivo .json debe incluir las credenciales necesarias para conectarse a estos servicios. Para obtener más información, consulte los requisitos de la matriz para su versión a continuación.
  • Las credenciales especificadas en el flujo y las credenciales incluidas en el archivo .json deben coincidir, de lo contrario el flujo no se ejecutará.
  • Cuando ejecuta el proceso, el nombre del host, puerto y nombre del usuario se utilizan para encontrar la conexión coincidente en el archivo de flujo de Tableau (.tlf) y se actualizan antes de ejecutar el proceso. El ID de puerto y de sitio son opcionales si sus conexiones no requieren esta información.
  • Si está conectándose a una fuente de datos publicada, incluya el nombre del host, la URL del contenido y el puerto (80 para http y 443 para https) en las conexiones de entrada. El nombre del host es necesario para encontrar la conexión coincidente en el archivo de flujo de Tableau (.tlf). La URL del contenido y el puerto se utilizan para establecer la conexión al servidor.

  • Si se conecta a Tableau Online, incluya el puerto (80 o 443) en las conexiones de entrada del pod al que se está conectando. Para obtener más información acerca de Tableau Online, consulte Conexiones de Tableau Bridge a Tableau Online(Link opens in a new window)en la sección de ayuda de Tableau Online.

Dependiendo de su versión de Tableau Prep Builder, su información de credenciales puede tener un formato diferente. Haga clic en la pestaña siguiente para ver el formato de credenciales de su versión de Tableau Prep Builder.

En función de las conexiones, incluya las credenciales del servidor o de la base de datos o ambas. Cuando el flujo se conecta y genera al mismo servidor o base de datos, solo necesita incluir un único bloque en el archivo .json. Si se conecta a un servidor o base de datos que utiliza credenciales diferentes, utilice una matriz delimitada por comas.

Conexiones de servidor Conexiones de base de datos Conexiones de Rserver o Tableau Python

Nombre del bloque de conexión: "tableauServerConnections"

Incluya los siguientes datos en la matriz:

  • serverUrl (nombre del servidor)
  • contentUrl (ID del sitio). Aparece después de /site/ en la URL para Tableau Server o Tableau Online. Por ejemplo "https://my.server/#/site/mysite" set "contentUrl": "mysite".))
  • port (ID de puerto)
  • username
  • contraseña

Nombre del bloque de conexión: "databaseConnections"

Incluya los siguientes datos en la matriz:

  • hostname (nombre del servidor)
  • port (ID de puerto)
  • username
  • contraseña

Incluya solo esta matriz si el flujo incluye pasos de script para R o TabPy.

Nombre del bloque de conexión: "extensions"

Incluya los siguientes datos en la matriz:

  • extensionName: especifique "rSupport" o "pythonSupport"
  • regular: incluya "host" y "port". También puede incluir "username" o "sslCertificate" (contenido del archivo .pem público codificado como cadena base64) si procede.
  • sensitive: incluya "password" si utiliza una contraseña. De lo contrario, incluya una matriz en blanco.

Nota: ContentUrl es siempre necesario en el archivo .json para las conexiones de servidor. Si se conecta a un sitio predeterminado, por ejemplo "https://my.server/#/site/", configure ContentUrl en blanco. Por ejemplo: "contentUrl": ""

Ejemplos

En esta sección se muestran ejemplos diferentes de archivos de credenciales que puede crear con los requisitos de archivos .json de las credenciales.

Conexión a una conexión de servidor

Este ejemplo muestra un archivo de credenciales .json que se conecta y genera a una conexión de servidor que utiliza las mismas credenciales:

{
 "tableauServerConnections":[
   {
    "serverUrl":"https://my.server",
    "contentUrl": "mysite",
    "port":443,
    "username": "jsmith",
    "password": "passw0rd$"
   }
 ]
}				

Conexión a una conexión de servidor y salida a una conexión de base de datos

Este ejemplo muestra un archivo de credenciales .json que se conecta a una conexión de servidor y genera una conexión de base de datos:

{
 "tableauServerConnections":[
   {
    "serverUrl":"https://my.server",
    "contentUrl": "mysite",
    "port":443,
    "username": "jsmith",
    "password": "passw0rd$"
   }
],
 "databaseConnections":[
   {
    "hostname":"example123.redshift.amazonaws.com",
    "port":"5439",
    "username":"jsmith",
    "password":"p@s$w0rd!"
   }
 ]
}

El flujo incluye conexiones de script Rserve y TabPy y salidas a una conexión de base de datos

Este ejemplo muestra un archivo de credenciales .json que incluye credenciales de Rserve y TabPy y salidas a una conexión de base de datos:

{
 "extensions": [
    {
	  "extensionName": "rSupport",
	  "regular": {
		"host": "localhost",
		"port": "9000",
		"username": "jsmith"
	},
	"sensitive": {	
	  "password": "pwd"	
	}
   },
   {
	"extensionName": "pythonSupport",
	"regular": {
	  "host": "localhost",
	  "port": "9000"
	},
	"sensitive": {
	}
   }
 ],										
 "databaseConnections":[
   {
    "hostname":"example123.redshift.amazonaws.com",
    "port": "5439",
    "username": "jsmith",
    "password": "p@s$w0rd!"
   },
   {
    "hostname":"mysql.mydb.tsi.lan",
    "port": "3306",
    "username": "jsmith",
    "password": "mspa$$w0rd"
   }
 ]
}			

Conexión y salida a diferentes conexiones de base de datos

Este ejemplo muestra un archivo de credenciales .json que se conecta y genera a diferentes conexiones de base de datos:

{
 "databaseConnections":[
{
  "hostname":"example123.redshift.amazonaws.com",
  "port": "5439",
  "username": "jsmith",
  "password": "p@s$w0rd!"
 },
 {
   "hostname":"mysql.mydb.tsi.lan",
   "port": "3306",
   "username": "jsmith",
   "password": "mspa$$w0rd"
  }
 ]
}			

Introduzca una matriz para las conexiones de entrada y salida.

Nota: si usa una versión de Tableau Prep Builder comprendida entre la 2018.2.2 y la 2018.3.1, incluya siempre las matrices “inputConnections” y “outputConnections”, aunque el flujo no tenga conexiones remotas para entradas ni salidas. Deje esas matrices en blanco. Si usa Tableau Prep Builder versión 2018.3.2 o posteriores, no es necesario que incluya las matrices en blanco.

Conexiones de entrada Conexiones de salida Conexiones de Rserver o Tableau Python
  • hostname (nombre del servidor)
  • contentUrl (siempre es necesario para las fuentes de datos publicadas. Consulte Conexiones de salida para leer una descripción.)
  • port (ID de puerto)
  • username
  • contraseña
  • serverUrl
  • contentUrl (ID del sitio). Aparece después de /site/ en la URL para Tableau Server o Tableau Online. Por ejemplo "https://my.server/#/site/mysite" set "contentUrl": "mysite".)
  • username
  • contraseña

Incluya esta matriz únicamente si el flujo incluye pasos de script para R o TabPy que requieren una contraseña.

  • extensionName: especifique "rSupport" o "pythonSupport"
  • credentials: incluya "password".

Ejemplos

En esta sección se muestran dos ejemplos diferentes de archivos de credenciales que puede crear con los requisitos de archivos .json de las credenciales.

Conectarse a una fuente de datos publicada

En este ejemplo se muestra un archivo de credenciales .json que se conecta a una fuente de datos publicada y genera datos en un servidor que incluye un identificador de sitio

Nota: si inputConnection o outputConnection utilizan el sitio predeterminado, por ejemplo, "https://my.server/#/site/", establezca ContentUrl en blanco. Por ejemplo: "contentUrl": ""

{ 
  "inputConnections":[
    {
     "hostname":"https://my.server",
     "contentUrl": "mysite",
     "port":443,								
     "username": "jsmith",
     "password": "passw0rd$"
    }
 ],
  "outputConnections":[
    {
     "serverUrl":"https://my.server",
     "contentUrl":"mysite",
     "username":"jsmith",
     "password":"passw0rd$"
    }
 ]
}

Conectarse a dos bases de datos

En este ejemplo se muestra un archivo de credenciales .json que se conecta a MySQL y Oracle y lleva los datos a un servidor que incluye un identificador de sitio.

{ 
  "inputConnections":[
    {
     "hostname":"mysql.example.lan",
     "port":1234,
     "username": "jsmith",				
     "password": "passw0rd"
  },
    {
     "hostname":"Oracle.example.lan",
     "port":5678,
     "username": "jsmith",				
     "password": "passw0rd" 
  }
], 
  "outputConnections":[
    {
     "serverUrl":"http://my.server",
     "contentUrl":"mysite",
     "username":"jsmith",
     "password":"passw0rd$"
    } 
  ]
}

El flujo incluye pasos de script para Rserve y TabPy y se conecta a una base de datos

En este ejemplo se muestra un archivo de credenciales .json que incluye la contraseña de los servicios Rserve y TabPy y se conecta a MySQL.

{ 
  "inputConnections":[
    {
     "hostname":"mysql.example.lan",
     "port":1234,
     "username": "jsmith",				
     "password": "passw0rd"
  }
], 
  "extensions":[
    {
     "extensionName":"rSupport",
     "credentials":{
     "password":"pwd",
    }
  },
   {
	"extensionName" : "pythonSupport",
	"credentials": {
	"password": "pwd"
	}
   } 
  ]
}

Consejos para crear su archivo de credenciales

Para evitar errores al ejecutar el flujo, asegúrese de que su archivo de credenciales siga estas directrices:

  • Si usa una versión de Tableau Prep Builder comprendida entre la 2018.2.2 y la 2018.3.1, incluya siempre las matrices “inputConnections” y “outputConnections”, aunque el flujo no tenga conexiones remotas para entradas ni salidas. Deje esas matrices en blanco.

    Si usa Tableau Prep Builder versión 2018.3.2 o posteriores, no es necesario que incluya la matriz en blanco.

    • ¿No hay ninguna conexión remota de entrada? Incluya esta sintaxis en la parte superior del archivo .json.

      {
       "inputConnections":[
        ],
    • ¿No hay ninguna conexión remota de salida? Incluya esta sintaxis en la parte inferior del archivo .json.

    • "outputConnections":[
        ]
      }
  • No hay ningún ID de puerto para su conexión de entrada o el puerto se ha especificado como parte de un nombre de servidor

    Si no hay un ID de puerto para su conexión, no incluya la referencia "port":xxxx, en el archivo .json, ni siquiera "port": "". Si el ID de puerto está incluido en el nombre del servidor, incluya el ID de puerto en el nombre de host. Por ejemplo: "hostname": "mssql.example.lan,1234"

  • Al referirse a "serverUrl":, no incluya "/" al final de la dirección. Por ejemplo, use "serverUrl": "http://server" y no "serverUrl": "http://server/".

  • Si tiene varias conexiones de entrada y salida, incluya las credenciales de cada una en el archivo.

  • Si se conecta a fuentes de datos publicadas, asegúrese de incluir hostname y contentUrl en las conexiones de entrada.

Ejecutar el flujo

Importante: en los ejemplos siguientes, se incluye el cambio de nombre de “Tableau Prep” versión 2019.1.2 a “Tableau Prep Builder”. Si usa una versión anterior del producto, use “Tableau Prep” en su lugar.

  1. Abra el símbolo del sistema o el símbolo del sistema del terminal (MacOS) como administrador.

  2. Ejecute uno de los siguientes comandos mediante la sintaxis que viene a continuación.

    • El flujo se conecta a archivos locales o almacenados en un recurso compartido de la red y se publica en archivos locales, archivos almacenados en un recurso compartido de la red, o bien usa la Autenticación de Windows:

      Nota: si se conecta a archivos guardados en un recurso compartido de la red o se genera en ellos, use el formato UNC para la ruta: \\server\path\file name. No puede estar protegida con contraseña.

      Windows

                                           "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat -t "path\to\[your flow file name].tfl"
                                      

      Mac

                                          /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -t path/to/[your flow file name].tfl
                                      
    • El flujo se conecta a bases de datos o se publica en un servidor:

      Windows

                                          "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat -c "path\to\[your credential file name].json" -t "path\to\[your flow file name].tfl"
                                      

      Mac

                                          /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -c path/to/[your credential file name].json -t path/to/[your flow file name].tfl
                                      
    • El archivo de flujo o de credenciales se almacena en un recurso compartido de la red (use el formato UNC para la ruta: \\server\path\file name):

      Windows

                                          "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat -c "\server\path\[your credential file name].json" -t "\server\path\[your flow file name].tfl"
                                      

      Mac: asigne el recurso compartido de la red a /Volumes en Finder para que sea persistente y luego use /Volumes/.../[your file] para especificar la ruta:

                                          /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -c /Volumes/.../[your credential file name].json -t path/to/[your flow file name].tfl
                                      

Para ver errores y resoluciones comunes, consulte Errores comunes al utilizar la línea de comandos para ejecutar flujos.

Ejecute el flujo con la actualización incremental habilitada (versión 2020.2.1 y posteriores)

Si no tiene Tableau Prep Conductor habilitado en el servidor para programar las ejecuciones de flujo, puede ejecutar el flujo mediante la actualización incremental desde la línea de comandos. Simplemente incluya el parámetro --incrementalRefresh en la línea de comandos como se muestra en el ejemplo siguiente.

Windows

                     "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat --incrementalRefresh -t "path\to\[your flow file name].tfl"
                

Mac

                    /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli --incrementalRefresh -t path/to/[your flow file name].tfl
                

Si los pasos de entrada del flujo tienen habilitada la actualización incremental y los parámetros de actualización incremental están configurados correctamente, Tableau Prep Builder hará lo siguiente:

  • Todas las entradas del flujo que tienen habilitada la actualización incremental ejecutarán todas las salidas correspondientes mediante la actualización incremental.
  • Si ninguna entrada en el flujo tiene habilitada la actualización incremental, todas las salidas se ejecutarán mediante la actualización completa. Un mensaje mostrará los detalles del método de actualización.
  • Si algunas entradas del flujo tienen habilitada la actualización incremental, las salidas correspondientes se ejecutarán mediante la actualización incremental. El resto de salidas se ejecutarán mediante la actualización completa y un mensaje mostrará los detalles del método de actualización.

Para obtener más información sobre cómo configurar flujos para usar la actualización incremental, consulte Actualizar datos de flujo mediante la actualización incremental

Opciones de comando

Si desea ver las opciones de ayuda, incluya -h en la línea de comandos.

Opciones de comando Descripción Notas
-c , --connections <arg> Ruta de conexión al archivo de credenciales. Necesita la ruta a la ubicación del archivo de credenciales.
-d, --debug Permite depurar el proceso de flujo. Incluya esta opción para obtener más información y ayudar a depurar un problema que se produzca al actualizar el flujo. Los archivos de registro se almacenan en: My Tableau Prep Builder Repository\Command Line Repository\Logs
-dsv, --disableSslValidation Desactivar la validación SSL (MacOS) Cuando se ejecutan flujos utilizando la línea de comandos en MacOS, puede aparecer un cuadro de diálogo preguntando por el usuario y la contraseña. A partir de la versión 2019.3.2 de Tableau Prep Builder, puede usar este parámetro adicional para desactivar este cuadro de diálogo de cadena de claves. Por ejemplo: /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -dsv -c path/to/[your credential file name].json -t path/to/[your flow file name].tfl
-h, --help Consulte la ayuda para conocer las opciones de sintaxis.

En la opción de ayuda o en el error de sintaxis se muestra la siguiente información:

usage: tableau-prep-cli [-c <arg>] [-d]  [-h] [-t <arg>]
-c,--connections <arg>        Path to a file with all connection information
-d,--debug                    This option is for debugging
-dsv,--disableSslValidation   Disable SSL validation
-h,--help                     Print usage message
-inc,--incrementalRefresh     Run incremental refresh for all outputs that are configured to support it
-t,--tflFile <arg>            The Tableau Prep Builder flow file	
-inc, --incrementalRefresh Ejecute la actualización incremental en todas las salidas configuradas para usarla.

Incluya esta opción para ejecutar la actualización incremental en todas las entradas configuradas para usarla. La actualización incremental permite a Tableau Prep Builder recuperar y procesar solo filas nuevas en lugar de todas las filas de un flujo.

Los valores de configuración de actualización incremental de los pasos de entrada determinan qué salidas de flujo se pueden ejecutar de forma incremental. El resto de salidas se ejecutarán mediante una actualización completa y un mensaje mostrará los detalles del método de actualización.

Para obtener más información sobre cómo ejecutar flujos mediante la actualización incremental, consulte Actualizar datos de flujo mediante la actualización incremental.

-t, --tflFile <arg> Archivo de flujo .tfl Necesita la ruta a la ubicación del archivo de flujo .tfl.

Ejemplos de sintaxis

En la línea de comandos que aparece a continuación se muestran cuatro ejemplos diferentes para ejecutar un flujo mediante el uso de los siguientes criterios:

  • Versión de Tableau Prep Builder: 2020.3.1

    Importante: en los ejemplos siguientes, se incluye el cambio de nombre de “Tableau Prep” versión 2019.1.2 a “Tableau Prep Builder”. Si usa una versión anterior del producto, use “Tableau Prep” en su lugar.

  • Nombre del flujo: Flow1.tfl

  • Ubicación de flujos: C:\Usuarios\jsmith\Documentos\Mi Repositorio de Tableau Prep Builder\Flujos

  • Nombre del archivo de credenciales: Flow 1.json

  • Ubicación del archivo de credenciales: C:\Users\jsmith\Desktop\Flow credentials

  • Ubicación del archivo de credenciales almacenado en un recurso compartido de la red: \tsi.lan\files\Flow credentials

El flujo se conecta a archivos locales y se publica en ellos.

Windows

                    "\Program Files\Tableau\Tableau Prep Builder 2020.3.1\scripts"\tableau-prep-cli.bat -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"
                

Mac

                    /Applications/Tableau\ Prep\ Builder\ 2020.3.1.app/Contents/scripts/./tableau-prep-cli -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl
                

El flujo se conecta y publica en archivos locales y utiliza la forma corta de actualización incremental

Windows

                    "\Program Files\Tableau\Tableau Prep Builder 2020.3.1\scripts"\tableau-prep-cli.bat -inc -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"
                

Mac

                    /Applications/Tableau\ Prep\ Builder\ 2020.3.1.app/Contents/scripts/./tableau-prep-cli -inc -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl
                

El flujo se conecta a bases de datos y se publica en un servidor.

Windows

                    "\Program Files\Tableau\Tableau Prep Builder 2020.3.1\scripts"\tableau-prep-cli.bat -c "\C:\Users\jsmith\Desktop\Flow credentials\Flow1.json" -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"
                

Mac

                    /Applications/Tableau\ Prep\ Builder\ 2020.3.1.app/Contents/scripts/./tableau-prep-cli -c /Users/jsmith/Desktop/Flow\ credentials/Flow1.json -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl
                

El flujo se publica en un servidor y el archivo de credenciales se almacena en un recurso compartido de la red.

Windows

                    "\Program Files\Tableau\Tableau Prep Builder 2020.3.1\scripts"\tableau-prep-cli.bat -c "\\tsi.lan\files\Flow credentials\Flow1.json" -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"
                

Mac

                    /Applications/Tableau\ Prep\ Builder\ 2020.3.1.app/Contents/scripts/./tableau-prep-cli -c /Volumes/files/Flow\ credentials/Flow1.json -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl
                
¡Gracias por sus comentarios!