Saltar al contenido

Manipulación del directorio de archivos en Jitterbit App Builder

Este artículo revisará el trabajo con la Manipulación del Directorio de Archivos en App Builder. Los temas cubiertos incluyen mover archivos entre binarios y un sistema de archivos, crear directorios desde dentro de App Builder y vincular directorios en un Panel de Sistema de Archivos.

Requisitos previos

  • Se requiere que un sistema de archivos esté configurado en su servidor de App Builder (Local, S3 o Red)
    • Se recomienda almacenar el DataSourceID del sistema de archivos en la tabla de Parámetros para la aplicación desde la cual se van a transferir archivos
  • La base de datos de la que se transfieren los archivos debe estar vinculada a su sistema de archivos

Columnas en una tabla de archivos del sistema de archivos

Columna Obligatorio (S/N) Tipo de dato Descripción
DataSourceID(*) UUID El DataSourceID de la fuente de datos del sistema de archivos
Nombre(*) Cadena El nombre del archivo cuando se almacena en el sistema de archivos
Directorio(*) Cadena La ruta del archivo que se está almacenando en el sistema de archivos
NombreCompleto No Cadena El nombre del archivo cuando se almacena en el sistema de archivos
EsDirectorio No Booleano Si el archivo que se está almacenando es una carpeta
Contenido No Binario El archivo en sí
Extensión No Cadena La extensión del archivo que se está almacenando
CreadoEl No Fecha/Hora Cuando el archivo fue insertado en el sistema de archivos
ModificadoEl No Fecha/Hora Cuando el archivo fue actualizado en el sistema de archivos
Longitud No Entero Longitud del archivo en bytes
IconoDeCarpeta No Binario El ícono de la carpeta en el sistema de archivos

Instrucciones para mover archivos de binario en una tabla de App Builder al sistema de archivos

Carpetas

  1. Si ya tienes una carpeta en el sistema de archivos donde deseas almacenar los archivos, entonces no necesitas configurar carpetas a través de App Builder.
  2. Si deseas crear una carpeta en el sistema de archivos, necesitarás configurar Reglas en App Builder para hacerlo:

    • Crea una Regla de Inserción XP CRUD desde la base de datos principal de tus aplicaciones, apuntando a la tabla de archivos de tu sistema de archivos.
      • Las claves de la tabla de archivos que deben ser apuntadas son DataSourceID (de tu sistema de archivos), Name (Nombre del archivo) y Directory (Ruta del archivo).
        • DATASOURCEID(*)- Si almacenaste el DataSourceID de tu sistema de archivos en tu tabla de Parámetros, puedes construir la regla a partir de esa tabla y usar ese campo parametrizado para apuntar al DataSourceID.
        • NAME(*)- Puedes usar lo que desees como el nombre del archivo/carpeta. Es una práctica común no usar el nombre real del archivo y generar un nuevo nombre al almacenar en un sistema de archivos por razones de seguridad.
        • DIRECTORY(*)- Si la carpeta es la carpeta de nivel más alto en tu sistema de archivos, entonces usa una cadena vacía como directorio. Si estás creando una jerarquía de carpetas, el directorio es la ruta del archivo de la carpeta, App Builder asume automáticamente el primer '\' en la ruta del archivo.
      • Apunta el campo IsDirectory con un '1' para todas las carpetas. Así es como App Builder sabrá crear una carpeta en el sistema de archivos, en lugar de intentar insertarla como un archivo.
      • Registra la Regla de Inserción como una Acción en un Evento y activa ese Evento. Si creaste una carpeta de nivel superior en tu sistema de archivos, debería aparecer en la tabla de archivos de tu sistema de archivos; si la carpeta/archivo está en cualquier lugar que no sea el nivel más alto en tu sistema de archivos, tendrás que configurar páginas para verificar que se insertó correctamente, o contactar a alguien con acceso al sistema de archivos para confirmar que la carpeta fue creada.

Inserting files into the file system

  1. Crea una regla de inserción XP CRUD desde la fuente de datos y la tabla de la que estás moviendo los archivos, apuntando a la tabla de archivos de tu sistema de archivos.

    • Las claves para el archivo son las mismas que las de la carpeta.
      • DATASOURCEID(*)- El DataSourceID del sistema de archivos, puedes codificar el valor directamente o cruzarlo en la tabla de Parámetros si lo has almacenado.
      • NAME(*)- Es una práctica común no usar el nombre original del archivo en tu sistema de archivos, sin embargo, puedes hacerlo. Si no lo haces, asegúrate de establecer una convención de nombres que sea consistente y fácil de recordar. (Nota: Si planeas previsualizar este archivo en un control embebido, debes concatenar la extensión del archivo al final del nombre. Hay documentación SQL en línea que te ayudará a recortar la extensión del nombre original del archivo.)
      • DIRECTORY(*)- La ruta donde se almacenará el archivo. Una serie de nombres de carpetas separados por '\'.
    • Otro campo que necesita ser dirigido para los archivos es Contenido.
      • CONTENT- El archivo en sí. El binario que se está almacenando en la tabla.

Binding directories into a file system panel

  1. Al vincular a una página utilizando un sistema de archivos como fuente del panel, es necesario pasar un enlace para acceder a tus archivos.

    • En el objeto del que estás vinculando, debes agregar los campos en los que vas a vincular.
      • Los campos en los que vincularás son las PK's de la tabla de Archivos en tu sistema de archivos (DataSourceID, Directory y Name).
    • Donde sea que estés configurando tu enlace a la página del Sistema de Archivos, debes establecer esos campos que acabas de agregar a tu objeto como Criterios de Enlace. También puedes lograr esto entre paneles si deseas hacerlo de esa manera.

Example XP CRUD rule to create subfolder

Aquí hay un ejemplo de regla XP CRUD que instruye a App Builder a crear una subcarpeta llamada PaymentImport dentro de la carpeta VinylData ubicada en la unidad C:. Este ejemplo asume que la ruta de la fuente de datos es C:/VinylData.

Configuración de Reglas:

  • Propósito: XP CRUD
  • Acción: Cram
  • Fuente de Datos de Origen: Fuente de datos de la que proviene la Regla. Ejemplo: InvoicePortal
  • Fuente de Datos de Destino: Fuente de datos a la que se dirige la Regla. Ejemplo: C Drive
  • Capa de Destino: Capa de Lógica
  • Destino: Tabla Nombrada a la que se dirige la Regla. Ejemplo: File

Columnas Definidas en la Regla:

  • DataSourceID: 'b24b8338-5c91-4e92-8481-8605944a558d'
  • Directorio: *
  • Nombre: 'PaymentImport'
  • EsDirectorio: 1

directoryexample.png

Ejemplo de Regla XP CRUD para crear una subcarpeta