Escenario 2 del tutorial del conector: Obtener archivo
Introducción
Este escenario demuestra otro uso de la actividad Obtener archivo de Dropbox creada en Escenario 1: Obtener archivo.
En este escenario, se obtiene un archivo de Dropbox y se accede a su contenido, que se descifra. Luego, este contenido se escribe en un servidor FTP.
Nota
A diferencia del Escenario 1, el archivo de texto resultante contiene solo el contenido del archivo recibido de Dropbox, sin los 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 una actividad de obtención de archivos de Dropbox a una operación
Agregue una actividad Obtener archivo de Dropbox a una nueva operación.
Como en Escenario 1, necesitarás una actividad de Dropbox Obtener archivo. Puedes reutilizar la actividad de Dropbox Obtener archivo del primer escenario o crear una nueva.
Para reutilizar la actividad del primer escenario, haga clic en la pestañaComponentes del panel del proyecto. Desde allí, puedes arrastrar la actividad de Dropbox existente a una nueva operación.
3. Agregar una transformación a la operación
Agregue una transformación después de la actividad Obtener archivo de Dropbox.
Edite la transformación, pero a diferencia del Escenario 1, crea un nuevo esquema plano (Definir esquema > Crear plano) con dos campos de cadena: a name
campo y un content
campo:
Una vez creado, puede utilizar el enlace Autoasignar coincidencias exactas para asignar los campos de origen a los campos de destino.
4. Edite las asignaciones de campos de destino
Agregue un secuencia de comandos a cada campo de destino para escribir el nombre y el contenido en las variables globales, luego informe los valores de las variables globales en el registro de operación.
Para agregar un secuencia de comandos a un campo de destino, pase el cursor sobre el campo de destino y haga clic en el botón Agregue un icono y seleccione Agregar Secuencia de comandos.
Para el name
En el campo, introduzca este secuencia de comandos:
<trans>
$dropboxName = fetchFileResponse$name$;
WriteToOperationLog("Fetched from Dropbox: " + $dropboxName);
$dropboxName;
</trans>
Para el content
En el campo, introduzca este secuencia de comandos:
<trans>
$dropboxContent = String(Base64Decode(fetchFileResponse$content$));
WriteToOperationLog("Decoded Dropbox file content: "
+ Length($dropboxContent) + " characters");
$dropboxContent;
</trans>
Cuando se muestren los secuencias de comandos, deberían ser similares a esto:
El name
El secuencia de comandos de campo toma el nombre de la respuesta Fetch File de Dropbox, lo asigna a una variable global, escribe un mensaje en el registro de operación y luego establece el nombre como el valor del campo.
El content
El secuencia de comandos de campo toma el contenido de la respuesta Fetch File de Dropbox, lo decodifica desde Base64, lo asigna a una variable global, escribe un mensaje en el registro de operación y luego establece el contenido como el valor del campo.
Estas variables ya están disponibles para usarlas para escribir en el servidor FTP. Cuando haya terminado, vuelva al flujo de trabajo.
5. Agregar un secuencia de comandos a la operación
Agregue un secuencia de comandos como etapa de operación después de la transformación. Hace referencia a la actividad Write de FTP de Escenario 1: Obtener archivo, como se muestra a continuación.
Introduzca como contenido del secuencia de comandos (en lenguaje Jitterbit Script ):
<trans>
WriteToOperationLog("Received Dropbox file: " + $dropboxName + " "
+ Length($dropboxContent) + " characters");
WriteFile("<TAG>activity:ftp/FTP/ftp_write/Write</TAG>",
$dropboxContent, $dropboxName);
FlushFile("<TAG>activity:ftp/FTP/ftp_write/Write</TAG>");
WriteToOperationLog("Wrote Dropbox file: " + $dropboxName);
</trans>
Importante
El nombre FTP
utilizado en el fragmento de código anterior debe coincidir con el nombre de la conexión FTP y Write
debe coincidir con el nombre de la actividad Escritura de FTP utilizada en Escenario 1: Obtener archivo para poder reutilizarlo.
Cierre el secuencia de comandos para volver al flujo de trabajo.
6. Ejecutar la operación
Implemente y ejecute la operación. Si se realiza correctamente, verá un archivo creado en el servidor FTP con el mismo nombre y contenido que el archivo obtenido de Dropbox. Se escribirán los mensajes correspondientes en el registro de la operación: