Leer y escribir archivos en Box usando Jitterbit Studio
Introducción
El conector de Box proporciona dos actividades dedicadas a nivel de archivo: Download File para leer archivos de Box y Upload File para escribir archivos en Box. Ambas actividades intercambian contenido de archivo como cadenas codificadas en Base64. Usa Base64Decode para decodificar el contenido descargado al procesar texto, y Base64Encode para codificar el contenido antes de cargarlo.
Antes de crear las operaciones descritas en esta guía, configura una conexión de Box con credenciales JWT según se describe en Requisitos previos de Box.
Patrón de diseño
El patrón utiliza dos grupos de operaciones independientes.
Leer archivos de Box
La operación Search localiza archivos en una carpeta de Box y pasa el ID del archivo a una variable de proyecto. La operación Download File, activada cuando la operación Search tiene éxito, utiliza esa variable como entrada de File ID.
Escribir archivos en Box
La transformación proporciona los campos requeridos fileName y fileContent a la actividad Upload File. fileContent debe ser una cadena codificada en Base64.
Parte 1: Leer un archivo de Box
Paso 1: Configurar la operación Search
-
En el lienzo de diseño, crea una nueva operación.
-
Agrega una actividad Search de Box como origen. Haz doble clic en la actividad para abrir su configuración.
-
Name: Ingresa un nombre como
Search Box Files. -
Ancestor Folder IDs: Ingresa el ID de la carpeta de Box en la que deseas buscar. El ID de la carpeta aparece en la URL al ver una carpeta en Box (por ejemplo, el ID en
https://app.box.com/folder/123456789es123456789). -
Type: Selecciona File.
-
Query: Opcionalmente, ingresa un nombre de archivo o palabra clave para limitar los resultados. Déjalo en blanco para devolver todos los archivos en la carpeta.
-
Haz clic en Finished.
-
Agrega un paso de Transformation como destino de la operación.
-
En la transformación, agrega un nodo de script a nivel raíz que almacene el ID del primer archivo coincidente en una variable de proyecto:
$box_file_id = Source.entries[0].id;Nota
La respuesta de Search incluye un array
entriesdonde cada elemento tiene un campoid. Este script selecciona el primer resultado. Para procesar múltiples archivos, itera a través del arrayentriese invoca la operación de descarga para cada ID. -
Guarda la transformación.
Paso 2: Configurar la operación Download File
-
En el lienzo de diseño, crea una segunda operación.
-
Agrega una actividad Download File de Box como origen. Haz doble clic en la actividad para abrir su configuración.
-
Name: Ingresa un nombre como
Download Box File. -
File ID: Ingresa
[box_file_id]para hacer referencia a la variable de proyecto completada por la operación Search. -
Haz clic en Finished.
-
Agrega un paso de Transformation después de la actividad Download File. El esquema de respuesta incluye un campo
fileContentque contiene el archivo descargado como una cadena codificada en Base64. Para trabajar con el contenido como texto, decodifícalo en un nodo de script:$fileText = Base64Decode(Source.fileContent);Asigna
fileTexta los campos de destino según lo requiera el destino. -
Agrega una actividad de destino y configúrala para el destino.
-
Vuelve a la operación Search. En su configuración de operación, configura la acción On Success para ejecutar la operación Download File. Esto encadena las dos operaciones de modo que la descarga comience solo después de que se haya recuperado el ID del archivo.
Parte 2: Escribir un archivo en Box
Paso 1: Configurar la actividad Subir archivo
-
En el lienzo de diseño, crea una nueva operación.
-
Añade una actividad de origen y configúrala para los datos que se van a subir.
-
Añade una actividad de Box Subir archivo como destino. Haz doble clic en la actividad para abrir su configuración.
-
Nombre: Introduce un nombre como
Upload Box File. -
Haz clic en Finalizado.
Paso 2: Configurar la transformación
-
Añade un paso de Transformación entre la actividad de origen y la actividad Subir archivo.
-
El esquema de solicitud Subir archivo requiere dos campos:
-
fileName: Asigna un valor de cadena para el nombre de archivo de destino (por ejemplo,"output.csv"). Puede ser un valor literal, un campo de los datos de origen o una variable de proyecto. -
fileContent: Asigna una cadena codificada en Base64. Para codificar contenido de texto antes de subirlo, usa un nodo de script:Base64Encode(HexToBinary(StringToHex($textContent)))Reemplaza
$textContentcon la variable o el campo de origen que contenga el texto a subir.Consejo
Si los datos de origen ya son una cadena codificada en Base64 (por ejemplo, de una actividad anterior de Box Descargar archivo), asigna
fileContentdirectamente sin recodificar.
-
-
Guarda la transformación.
Verificar la integración
-
Implementa y ejecuta la operación Buscar manualmente.
-
En los registros de operación, confirma que la actividad Buscar devuelve resultados. Si
box_file_idestá vacío o la búsqueda no devuelve entradas, verifica el valor de IDs de carpeta antecesora y asegúrate de que la conexión de Box pueda acceder a la carpeta de destino. -
Después de que se complete la operación Buscar, confirma que la operación Descargar archivo se ejecute automáticamente. En los registros, verifica que la descarga se realizó correctamente y que la transformación procesó el contenido del archivo como se esperaba.
-
Implementa y ejecuta la operación de escritura. Abre Box y confirma que el archivo subido aparece en la ubicación esperada con el nombre de archivo y contenido correctos.
Consejo
Para programar cualquiera de las operaciones para que se ejecute automáticamente, consulta Programar una operación para que se ejecute automáticamente.