Escenario 3 del tutorial del conector: colocar archivo
Introducción
Este escenario demuestra el uso de una actividad Put File de Dropbox, donde se lee un archivo desde un servidor FTP y luego se coloca (escribe) en Dropbox.
En este escenario, un secuencia de comandos primero establece variables globales con una ruta de archivo y un nombre de archivo, y lee desde un servidor FTP para establecer una variable global con el contenido del archivo. Luego, la transformación escribe esas variables en Dropbox mediante una actividad Put File de Dropbox.
Nota
Similar a Escenario 2: Obtener archivo, el archivo se coloca como un archivo de texto en lugar de como un archivo XML con contenido codificado y metadatos.
Aquí está la operación completada:
Importante
Para completar esta operación y escenario, complete la configuración de prerrequisito requerida en el Tutorial del conector de Dropbox.
Debes tener lo siguiente:
- Acceso a una cuenta de Dropbox y a un servidor FTP.
- Conectores Dropbox y FTP configurados.
- Acceso a
assets/sample-data directory
del repositorio del conector de Dropbox.
1. Copiar el archivo de muestra a Dropbox
Si aún no está presente, copie el archivo de muestra (customers.csv
) de la assets/sample-data directory
del conector de Dropbox a tu cuenta de Dropbox.
2. Agregar un secuencia de comandos a una operación
Agregue un secuencia de comandos a una nueva operación. Edite el secuencia de comandos y establezca su nombre de manera apropiada.
Establezca el contenido del Jitterbit Script como:
<trans>
$ftpPath = "/";
$ftpFilename = "customers.csv";
$ftpContents = ReadFile("<TAG>activity:ftp/FTP/ftp_read/Read</TAG>");
WriteToOperationLog("Read from path " + $ftpPath);
WriteToOperationLog("Read file " + $ftpFilename);
WriteToOperationLog("Read " + Length($ftpContents) + " bytes");
$dropboxPath = $ftpPath;
$dropboxFilename = CVTDate(Now(), "GeneralDate", "yyyy_mm_dd_HH_MM_SS")
+ "_" + $ftpFilename;
$dropboxFilepath = $dropboxPath + $dropboxFilename;
$dropboxContents = Base64Encode($ftpContents);
WriteToOperationLog("DropboxFilename: " + $dropboxFilename);
</trans>
Esto leerá y codificará usando Base64 el archivo en /customers.csv
desde el servidor FTP. Ajuste los valores de las variables según sea necesario si el archivo se encuentra en una ubicación o con un nombre diferente.
Cierre el secuencia de comandos para volver al flujo de trabajo.
3. Agregue una actividad de lectura FTP a la operación
Arrastre una actividad Lectura de FTP desde la paleta de componentes de diseño a la área de inserción de componentes en el tela de diseño para crear una instancia de una actividad de Lectura de FTP en una nueva operación. Haga doble clic en la actividad para abrirla.
Configurarlo como:
- Nombre: Ingrese un nombre de identificación apropiado.
- Ruta: Ingrese una variable global denominada
[ftpPath]
- Obtener archivos: Ingrese una variable global denominada
[ftpFilename]
Haga clic en Siguiente y luego en Finalizado para regresar al flujo de trabajo.
4. Agregue una actividad de Dropbox Put File a la operación
Arrastre un tipo de actividad Poner archivo de Dropbox desde la paleta de componentes a la operación después de la actividad Leer de FTP.
Configure el nombre del archivo como [dropboxFilename]
y haga clic en Siguiente:
Haga clic en Finalizado para volver al flujo de trabajo:
5. Agregar una transformación a la operación
Agregue una transformación antes de la actividad Colocar archivo de Dropbox.
Cuando se abra la transformación, asígnele un nombre y agregue secuencias de comandos a la path
y content
campos de destino para mapear las variables globales dropboxFilepath
y dropboxContents
a cada campo respectivo.
Haga clic en el Cerrar icono para guardar la configuración de la transformación y volver al flujo de trabajo:
6. Ejecutar la operación
Regrese al flujo de trabajo e desplegar y ejecute la operación. Una vez que la operación se haya completado y el archivo se haya colocado (escrito) en Dropbox, debería ver mensajes de registro como estos en el registro de operación, con el archivo copiado correctamente desde el servidor FTP a Dropbox:
Variaciones
Puede modificar este ejemplo para explorar cuestiones que los desarrolladores de conectores deben tener en cuenta.
Por ejemplo, puede establecer el campo de ruta en la transformación en una cadena vacía y luego, en la actividad Poner archivo de Dropbox, proporcionar la ruta utilizando un valor codificado o una variable ya definida ($dropboxPath
). Esto escribirá el archivo en la ubicación establecida por el secuencia de comandos.
El código para el conector de Dropbox (put-file-request.xsd
) requiere que se defina la ruta, como lo muestra la [1]
a la izquierda del nombre del campo en la transformación. Sin embargo, puede requerir que se defina en la interfaz de usuario para la actividad Put File de Dropbox configurando el código (adapter.json
) que describe la interfaz de usuario.
En el caso del conector de Dropbox, el código del conector (PutFileActivity.java
) se escribe de manera que la definición dada en la actividad Put File de Dropbox, si se especifica, tenga prioridad sobre el valor que se especifica en la transformación.
El enfoque que utilice dependerá de cómo desee utilizar o configurar un conector.