Copiar archivos
Este tutorial explica cómo crear un trabajo que copie archivos con un patrón determinado de una carpeta a otra. Supongamos que el departamento de ventas recibe diariamente varias órdenes de compra de libros y necesita compartir algunos de los archivos con el departamento de contabilidad. Creamos un trabajo programado que copiará solo los archivos JSON con el prefijo BookList en la carpeta Contabilidad.
Actualmente, la carpeta del departamento de ventas contiene los siguientes archivos:
Authors.xml
Authors.xsd
BookCatalog.xlsx
BookList.csv
BookListBiography.json
BookListChildren.json
BookListClassics.json
BookListCrimeMystery.json
BookListFantasy.json
BookListHorror.json
BookListHumor.json
BookListSciFi.json
BookOrder.txt
BookOrder.xml
BookOrder.xsd
Books.json
Books.schema.json
FileList.txt
Notes.txt
ORDERS.EDI
Esta lista contiene archivos de muestra que hemos creado para este tutorial. Estos archivos se utilizan únicamente con fines de demostración. Por favor, utilice sus propios archivos para probar la funcionalidad descrita en este tutorial.
A grandes rasgos:
1.Crearemos un nuevo trabajo en el contenedor /public/Examples.
2.Después, añadiremos un paso For-Each que iterará a través de una secuencia de archivos y los copiará de la carpeta de origen a la carpeta de destino.
3.A continuación, configuraremos un temporizador que desencadenará el trabajo de acuerdo con un horario específico.
4.También seleccionaremos una credencial de contraseña existente, con la que se ejecutará el trabajo.
5.Tras guardar la configuración del trabajo, consultaremos el estado del mismo en la página de inicio. Tras la correcta ejecución del trabajo, podremos ver los archivos copiados en la carpeta de destino.
Implementación
Este apartado ofrece instrucciones paso a paso para crear el trabajo que acabamos de describir. La implementación de esta situación también se muestra en el archivo GIF al final de este tema.
Paso 1: Crear un trabajo
Para crear un trabajo siga estos pasos:
1.Inicie sesión en FlowForce Server.
2.Navegue hasta un contenedor en el que tenga permiso para crear trabajos nuevos. Para las pruebas, utilizaremos el contenedor /public/Examples. Si este contenedor aún no existe, créelo utilizando el comando Crear | Crear contenedor.
3.En el contenedor /public/Examples, cree un trabajo nuevo haciendo clic en Crear | Crear trabajo.
4.Introduzca un nombre para el trabajo (por ejemplo, SampleJob) y, si quiere, una descripción del trabajo.
En nuestro ejemplo, el trabajo se llama CopyFiles y contiene la siguiente descripción: «Copia archivos de Ventas a Contabilidad».
Paso 2: Agregar un paso For-Each
Los pasos For-Each permiten iterar a través de una secuencia (por ejemplo, una lista de archivos de un directorio). Un bloque For-Each, que puede contener varios pasos, se ejecuta hasta que FlowForce Server termina de recorrer todos los elementos de la expresión de secuencia. Para configurar un paso For-Each, siga estas instrucciones:
1.Haga clic en Nuevo paso For-Each en la sección Pasos de ejecución, lo que hace que aparezca un bloque For-Each.
2.En el campo de texto Secuencia, suministraremos la siguiente expresión:
list-files('C:\Test\FlowForceServer\CopyFiles\Sales\BookList*.json')
La función file-system enumera los archivos JSON con el prefijo BookList ubicados en la carpeta Sales. El signo * significa que cualquier cosa puede ir después del prefijo BookList. Todos los demás archivos de la carpeta serán ignorados.
3.El siguiente paso es añadir un paso de ejecución dentro del bloque For-Each: Haga clic en el icono + dentro del bloque y seleccione Nuevo paso de ejecución de la lista.
4.Introduzca la función /system/filesystem/copy en el campo Ejecutar función.
5.Establezca el parámetro Origen como {item} (esto hace referencia al valor especificado en el campo Por cada. El valor del campo Por cada significa que por cada elemento de la secuencia se realizará una determinada acción. En nuestro ejemplo, cada archivo que coincida con el patrón del campo Secuencia se copiará en la carpeta Accounting.
6.Establezca el parámetro Destino en la siguiente ruta: C:\Test\FlowForceServer\CopyFiles\Accounting (esta es la ruta del directorio de destino en el que se copiarán los archivos).
7.Active la opción Sobrescribir para permitir que FlowForce Server pueda sobrescribir los archivos que ya existen en la carpeta de destino.
Así, el paso For-Each recorrerá en bucle la lista de archivos de la carpeta Sales y copiará solo los archivos JSON con el prefijo BookList. Si hay archivos en la carpeta Accounting que coinciden con los archivos que se están copiando, los archivos de destino se sobrescribirán.
Paso 3: Configurar un temporizador
Dado que uno de nuestros objetivos es ejecutar el trabajo a un horario determinado, necesitamos configurar un temporizador que desencadene el trabajo. Para agregar un temporizador siga estos pasos:
1.Navegue hasta la sección Desencadenadores y seleccione Temporizador nuevo.
2.Defina la opción Ejecutar como Diariamente.
3.Defina la fecha y hora de inicio en el parámetro Inicio.
4.Asegúrese de que la casilla Habilitado está seleccionada.
Paso 4: Seleccionar una credencial
Cuando cree un trabajo en FlowForce Server, tiene que suministrar las credenciales de la cuenta de usuario con la que debe ejecutarse el trabajo.
En la sección Credenciales, seleccionaremos una credencial de contraseña que hemos creado antes de comenzar este tutorial. Se trata de un objeto de credencial independiente que puede utilizar en cualquier trabajo. Las credenciales independientes son prácticas porque se pueden cambiar en un solo lugar y este cambio afectará a todos los trabajos que utilicen esa referencia de credencial.
La otra opción es especificar una credencial local, introduciendo su nombre de usuario y contraseña.
Para más información sobre los tipos de credenciales y aprender a crearlas, consulte Credenciales.
Paso 5: Guardar el trabajo y controlar su estado en la página de inicio
Haga clic en Guardar en la parte inferior de la página de configuración. Haga clic en la pestaña Inicio para ir a la página de inicio. La página de inicio mostrará el trabajo recién configurado en la sección Temporizadores activos. En cuanto el temporizador desencadena el trabajo, éste puede aparecer en la sección Trabajos en ejecución durante un breve periodo de tiempo. Para más información sobre la supervisión de los estados y estadísticas de los trabajos, consulte Información sobre trabajos en la página de inicio y Estados de los trabajos.
Resultado del trabajo
Tras la correcta ejecución del trabajo, todos los archivos JSON con el prefijo BookList se habrán copiado en la carpeta Accounting:
BookListBiography.json
BookListChildren.json
BookListClassics.json
BookListCrimeMystery.json
BookListFantasy.json
BookListHorror.json
BookListHumor.json
BookListSciFi.json
Si la ejecución del trabajo falla, compruebe el registro de trabajos de FlowForce Server para identificar los problemas.
GIF de demostración
Para ver una demostración rápida de los pasos descritos en este tutorial, haga clic en el archivo GIF que aparece a continuación. Tenga en cuenta que el GIF solo ilustra los pasos 2, 3 y 5. Para ver una ilustración de los pasos 1 y 4, consulte el tutorial Hello World.