Saltar al contenido

Escenario 3 del tutorial del conector: Colocar archivo

Leer un archivo de texto desde un servidor FTP y ponerlo en Dropbox

Este escenario demuestra el uso de una actividad Colocar archivo de Dropbox. En este ejemplo, un archivo de texto se lee desde un FTP servidor y luego se coloca (escribe) en Dropbox. Me gusta Escenario 2: Obtener archivo, el archivo se coloca como archivo de texto en lugar de un archivo XML con contenido codificado y metadatos.

Para esto, necesitará un archivo de texto ubicado en la ruta / en su servidor FTP. Cualquier archivo de texto servirá, o puede usar el archivo de muestra customers.csv provisto en el assets/sample-data directory de los archivos de origen del conector de Dropbox.

En este escenario, una secuencia de comandos primero establece variables globales con una ruta de archivo y un nombre de archivo, leyendo desde un servidor FTP para establecer una variable global con el contenido del archivo. La transformación luego escribe esas variables en Dropbox usando un Put Actividad del archivo (“Dropbox Put File”).

Aquí está la operación completa:

1. Copie el archivo de muestra a Dropbox

Copie el archivo de muestra (customers.csv) desde el assets/sample-data directory de el conector de Dropbox a su cuenta de Dropbox.

2. Crear un nuevo flujo de trabajo

Comience con un nuevo flujo de trabajo en el proyecto actual. Puede reutilizar componentes de los escenarios anteriores, pero un nuevo flujo de trabajo hace que sea más fácil mantener las operaciones separadas.

3. Agregar un secuencia de comandos a una operación

Agregue un secuencia de comandos a una nueva operación. Edite el secuencia de comandos, configurando su nombre como “Leer FTP a Vars”.

Establezca el contenido de 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 base-64 el archivo de texto en /customers.csv desde el servidor FTP. Ajuste los valores de las variables según sea necesario si su archivo está en una ubicación o nombre diferente.

Cierre el secuencia de comandos para volver al flujo de trabajo.

4. Agregue una actividad de lectura de FTP a la operación

Usando el extremo FTP llamado ” FTP” que configuró para este tutorial (vea Escenarios del tutorial en Tutorial del conector de Dropbox), arrastre una lectura FTP tipo de actividad a una área de inserción de componentes en la nueva operación, después de la secuencia de comandos.

Configúralo como:

  • Nombre: Introduce “Leer”
  • Ruta: Ingrese una variable global llamada [ftpPath]
  • Obtener archivos: Ingrese una variable global llamada [ftpFilename]

Haga clic en Siguiente y luego en Terminado para volver al flujo de trabajo.

5. Agregue una actividad de colocación de archivo de Dropbox a la operación

Arrastre un tipo de actividad Colocar archivo de Dropbox desde la paleta de componentes hasta la operación después de la actividad “Lectura de FTP “.

Configure el nombre del archivo como [dropboxFilename]:

Haga clic en Siguiente y luego en Terminado para volver al flujo de trabajo.

6. Agregue una transformación a la operación

Agregue una transformación antes de la actividad “Dropbox Put File”.

Cuando se abra la transformación, asígnele un nombre (como “Vars to Put”) y agregue secuencias de comandos en el path y content campos de destino para mapear las variables globales dropboxFilepath y dropboxContents a cada campo respectivo.

Cuando se complete, los campos de destino asignados deberían tener este aspecto:

7. Ejecute la operación

Vuelva al flujo de trabajo e desplegar y ejecute la operación. Una vez finalizada la operación y puesto el archivo 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 los problemas que deben tener en cuenta los desarrolladores de conectores.

Por ejemplo, podría establecer el campo de ruta en la transformación en una cadena vacía y luego en el “Dropbox Put La actividad “Archivo” proporciona la ruta usando un valor codificado de forma rígida o usando 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 se muestra en el [1] a la izquierda del nombre del campo en la transformación. Sin embargo, podría requerir que en su lugar se defina en la interfaz de usuario para la actividad “Dropbox Put File” 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 tal manera que el definición dada en la actividad “Dropbox Put File”, si se especifica, tiene prioridad sobre el valor que se especificado en la transformación.

El enfoque que use depende de cómo pretenda que se use o configure un conector.