Tutorial del conector de Dropbox¶
Introducción¶
Este tutorial cubre el conector de Dropbox, un conector completo creado con el SDK de Harmony Connector. Aunque funciona completamente, este conector no está diseñado para uso en producción. Está pensado como punto de partida importante para el desarrollo de conectores, ya que no tiene todas las pruebas y manejo de errores que serían esperado en un conector de producción.
Siempre que haya cumplido los requisitos previos, puede descargue el ejemplo, construya y empaquete, instálelo en un Agente Privado de Harmony y utilícelo en un proyecto para conectarse a Dropbox y mover archivos.
El tutorial asume que está familiarizado con Jitterbit y Harmony Cloud Studio. Si no eres familiarizado con Cloud Studio, revise nuestro Cloud Studio documentación, en particular la Guía de inicio rápido de Cloud Studio.
Obtención del conector de Dropbox de ejemplo¶
Si aún no lo ha hecho, el primer paso es clonar el Conector de Dropbox del repositorio de GitHub. Puedes hacerlo desde el sitio web de GitHub o ejecutando estos comandos:
$ git clone https://github.com/jitterbit/dropbox-connector.git
$ cd dropbox-connector
Registro de su conector de Dropbox de ejemplo¶
Necesitará cierta información antes de poder compilar y empaquetar el conector: un inicio de sesión y una aplicación de Dropbox, un Nombre de usuario y contraseña de la cuenta Harmony, y valores del registro del conector Jitterbit. Valores obtenidos del registro del conector se utilizan en el manifiesto antes de construir y empaquetar el conector.
Buzón¶
El primer paso es en el mismo Dropbox. Como el conector será una aplicación que interactúa con Dropbox, usted debe registrarse en Dropbox como desarrollador y crear una aplicación de Dropbox utilizando la API de Dropbox. La aplicación puede tener cualquier nombre y configuración. Esto se puede hacer con una cuenta gratuita de Dropbox. En el sitio web de Dropbox, crear una aplicación:
Desde la página web de su nueva aplicación, obtenga su clave de aplicación y genere un token de acceso. Esta imagen muestra (delineado en rojo) donde se pueden obtener en la página web:
En este ejemplo, se ha creado una aplicación denominada “Pruebas del SDK del conector Jitterbit”. Se muestra la clave de la aplicación. como “xxxxxxxxxxxxxxx
”. El token de acceso se mostrará una vez que el botón Generar debajo de la etiqueta Generado se ha utilizado el token de acceso.
Haga clic en el botón Generar para generar el token de acceso, copie la clave de la aplicación y el token de acceso, y guárdelos de forma segura donde pueda recuperarlos al configurar el conector.
Tenga en cuenta la configuración del nombre de la carpeta de la aplicación (resaltado en azul). En este ejemplo, esta es la carpeta raíz en Dropbox desde donde se originará cualquier archivo que coloque o busque con el conector.
Harmony Jitterbit¶
Si aún no ha obtenido un nombre de usuario y contraseña de Harmony, necesitará uno antes de continuar. (A la licencia de prueba es suficiente: vaya a < https://jitterbit.com > y haga clic en el botón Solicitar prueba para registrarse).
Registro del conector Jitterbit¶
Todos los conectores de Jitterbit requieren registro, lo que implica el uso de una API de Jitterbit para registrar el conector mediante sus credenciales de Harmony.
Para registrar el conector y obtener los valores de registro, utilice la colección Postman incluida en el Conector de Dropbox como postman/JitterbitConnectorManagerAPI.collection.json
.
Antes de ejecutar la API REST, importe las variables de ambiente de postman/jitterbit-env-variable-postman.json
en Postman y asociarlos con la colección.
Edite el ambiente e ingrese el alojar (como lo define su región; consulte Encontrar mi región), correo (su-nombre-de-usuario-de-jitterbit-harmony@example.com), contraseña (su contraseña de Harmony ) y nombre del conector variables de ambiente apropiadamente:
El nombre con el que está registrado el conector debe coincidir con el valor del adapter.json
archivo utilizado para describir el interfaz de usuario Para este tutorial, el conector name
proporcionada en el Dropbox adapter.json
el archivo es Dropbox
. Para detalles sobre el archivo de interfaz de usuario, consulte Despliegue del conector y Componentes de la interfaz de usuario del SDK del conector.
Ahora, desde Postman, ejecute estas dos APIs en orden:
Log In User
Register a Connector
(Las otras APIs de la colección se pueden usar para enumerar y eliminar conectores existentes que haya registrado y para confirmar la validez de la clave y el secreto de un conector).
La respuesta devuelta por el Register Connector
La API contiene los valores-clave que se necesitan para el conector manifiesto para completar el registro del conector. Deberías recibir una respuesta como:
{
"status": true,
"operation": "Register a connector",
"id": "3691",
"key": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"secret": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"endpointEntityId": "20101",
"functionEntityStartId": "20102",
"functionEntityEndId": "20200"
}
Como se puede ver en este ejemplo, se ha registrado un conector, tiene una ID de entidad de extremo de 20101
, y puede tienen ID de entidad de actividad de función que van desde 20102
a 20200
.
Registrar Conector API | Claves de archivo de manifiesto |
---|---|
key | Jitterbit-Connector-Key |
secret | Jitterbit-Connector-Secret |
endpointEntityId | Jitterbit-Connector-Endpoint-EntityTypeId |
functionEntityStartId | Jitterbit-Activity-EntityTypeId-<first_activity> |
functionEntityEndId | Jitterbit-Activity-EntityTypeId-<last_activity> |
La clave y el secreto devuelto se convertirán, siguiendo la tabla anterior, en el Jitterbit-Connector-Key
y Jitterbit-Connector-Secret
en el manifiesto del conector.
Al conector se le ha asignado un Id. de extremo y un rango de Id. de extremo de actividad (función), del primero al el último. En el caso del conector de Dropbox, que tiene cuatro actividades (Obtener archivo, Obtener archivo, Procesar archivo y Put File), asignaría ID individuales a cada actividad de modo que se encuentren dentro del rango asignado. A se puede asignar un máximo de 99 actividades a un conector individual.
Completar el archivo de manifiesto¶
Con la información obtenida, ahora puede establecer los valores en el archivo de manifiesto MANIFEST.MF
ubicado en el clonado Conector de Dropbox Repositorio de GitHub en
src/main/resources/META-INF
:
Author: Jitterbit
Version: 1.0.0
Jitterbit-Connector-Key: <key>
Jitterbit-Connector-Secret: <secret>
Jitterbit-Connector-Endpoint-EntityTypeId: <endpoint_type_id>
Jitterbit-Activity-EntityTypeId-fetch: <id-1>
Jitterbit-Activity-EntityTypeId-put: <id-2>
Jitterbit-Activity-EntityTypeId-process: <id-3>
Jitterbit-Activity-EntityTypeId-get: <id-4>
Jitterbit-Connector-UI: adapter.json
Class-Path: lib/dropbox-core-sdk-3.0.6.jar
La clave, el secreto y los ID se devolvieron del registro del conector. Como el conector de Dropbox tiene cuatro actividades, puede utilizar el ID inicial para Jitterbit-Activity-EntityTypeId-fetch
(la actividad Obtener archivo) y luego incremente los ID para las otras tres actividades. La última actividad debe ser menor o igual que la functionEntityEndId
. Complete estos valores antes de construir el conector. Tenga en cuenta que debe haber un espacio entre los dos puntos de la etiqueta y el valor en cada línea del archivo de manifiesto.
Advertencia
Si está creando el conector en Windows, tenga en cuenta que el archivo de manifiesto debe tener un carro final retorno/salto de línea como última línea; de lo contrario, la última entrada (Class-Path
) se omitirán y no se incluirán en el archivo de manifiesto incluido en el archivo JAR de salida.
Creación del conector de Dropbox¶
Después de editar y guardar las entradas del manifiesto, ahora está listo para construir el conector. Ejecute este comando dentro del dropbox-connector
directorio que contiene el repositorio clonado con el manifiesto editado:
$ mvn jaxb2:xjc compile install
Esto compilará, probará, compilará, empaquetará e instalará el conector. El archivo JAR completado estará en:
dropbox-connector/target/jitterbit-connector-dropbox-1.0.0.jar
Instalación del conector¶
El conector completo ahora se puede instalar en un Agente Privado. (Para obtener detalles sobre la instalación de agentes, consulte Requisitos del sistema para Agentes Privados).
Para que el agente encuentre el conector, el JAR del conector debe colocarse en el directorio de conectores del agente. Por lo general, eso se encuentra en:
- Linux:
/opt/jitterbit/Connectors
- Windows:
C:\Program Files (x86)\Jitterbit Agent\Connectors
(se requieren privilegios de administrador) - Docker: El directorio asignado
/opt/jitterbit/Connectors
en el comando Docker, como como--volume "$(pwd)/dropbox-connector:/opt/jitterbit/Connectors"
Si está utilizando la imagen de Harmony Docker Agente Privado, él le permite montar un directorio alojar en un directorio contenedor como /connectors
. Dentro del contenedor Docker, el agente escaneará el /opt/jitterbit/Connectors
directorio para archivos JAR que contienen una despliegue de conector (Solo se permite una despliegue de conector en cada archivo JAR). Para desplegar el JAR del conector de Dropbox después de que haya construido, mientras ejecuta el agente como un contenedor de Docker, copie el archivo JAR de la compilación target
directorio a el directorio montado como el directorio de conectores y reinicie el contenedor. Cuando se inicia el contenedor Docker, copia el contenido del directorio montado en el /opt/jitterbit/Connectors
directorio.
En todos los casos, no use el directorio de compilación de Maven como el directorio de conectores, ya que el escaneo del El directorio se confundirá cuando se encuentre con las etapas intermedias del proceso de compilación de Maven. En su lugar, copie el JAR completado en el directorio de conectores cuando finaliza el proceso de compilación. Esto se puede realizar manualmente o incorporado como un paso después de una compilación exitosa.
El agente escanea continuamente el directorio de conectores en busca de cambios y recarga automáticamente cualquier JAR de conector que encuentra que son nuevos o han sido modificados. Esto significa que a medida que desarrolle su conector, simplemente copie cada nuevo compilar en el directorio de conectores para que el agente lo vuelva a cargar automáticamente.
Ejemplo usando Docker¶
Por ejemplo, en un sistema Linux que ejecuta Docker Agente Privado, al ejecutar este comando en el directorio principal del
dropbox-connector
iniciará un agente de Docker con el target
directorio asignado al /opt/jitterbit/Connectors
directorio del agente:
$ docker run --interactive --tty --name=jitterbit-agent --publish 3000:3000 \
--volume "$(pwd)/dropbox-connector/target:/opt/jitterbit/Connectors" \
--env-file "$(pwd)/private-agent.env" \
jitterbit/agent
dónde private-agent.env
contiene las variables de ambiente utilizadas para conectarse a Harmony.
El archivo private-agent.env
se vería así; sustituya los valores apropiados:
HARMONY_USERNAME="<email_address>"
HARMONY_PASSWORD="<password>"
HARMONY_ORG="<your_organization_name>"
HARMONY_AGENT_GROUP="<your_agent_group_name>"
HARMONY_AGENT="<your_agent_name>"
En un símbolo del sistema diferente (o PowerShell, para el sistema operativo Windows ) puede verificar que el contenedor Docker esté activo mediante el uso:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
xxxxxxxxxxxx jitterbit/agent:latest "/entrypoint.sh /ag…" 2 minutes ago Up 2 minutes 46908-46909/tcp, 0.0.0.0:3000->3000/tcp, 46912/tcp jitterbit-agent
Nota
Una vez que el contenedor está arriba y pasa el control de salud, puede iniciar sesión en el Portal de Harmony Jitterbit e ir a la Management Console Agentes página para comprobar si el El agente se ha registrado y se está ejecutando.
En un símbolo del sistema diferente (o PowerShell, para el sistema operativo Windows ), puede acceder al contenedor mediante un comando para abrir un shell en el contenedor Docker:
$ docker exec -ti jitterbit-agent /bin/bash
root@b3160de34840:/opt/jitterbit#
En este punto, tiene acceso completo al contenedor del agente. Puede detener y reiniciar el agente utilizando el /opt/jitterbit/bin/jitterbit
utilidad. Para un mensaje de ayuda, desde dentro del contenedor use:
# /opt/jitterbit/bin/jitterbit help
Desde dentro del contenedor, siga los registros de Tomcat para verificar los registros del conector:
# tail -f tomcat/logs/catalina.out
. . .
2018-04-26 13:28:48,957 INFO com.jitterbit.integration.server.api.ws.connectorframework.ConnectorLoader:63 - Loading connectors...
. . .
2018-04-26 13:28:49,185 WARN com.jitterbit.integration.server.api.ws.connectorframework.ConnectorClassLoader:96 - Could not load Jitterbit Connector via manifest.mf; no Main-Class or Jitterbit-Connector-Factory-Class attributes defined.
2018-04-26 13:28:49,186 WARN com.jitterbit.integration.server.api.ws.connectorframework.ConnectorClassLoader:97 - Falling back to annotation system
2018-04-26 13:28:49,187 INFO com.jitterbit.integration.server.api.ws.connectorframework.ConnectorClassLoader:440 - Temporary Directory for undeploying connectors bundle: /opt/jitterbit/tomcat/temp
2018-04-26 13:28:49,517 INFO com.jitterbit.integration.server.api.ws.connectorframework.ConnectorClassLoader:377 - Loading annotated class java.lang.Class
2018-04-26 13:28:49,527 INFO com.jitterbit.integration.server.api.ws.connectorframework.ConnectorClassLoader:395 - Register Activity Factory with id: 200500 name: put factory: org.jitterbit.connector.dropbox.activities.PutFileActivity$PutFileActivityFactory
2018-04-26 13:28:49,530 INFO com.jitterbit.integration.server.api.ws.connectorframework.ConnectorClassLoader:395 - Register Activity Factory with id: 200402 name: fetch factory: org.jitterbit.connector.dropbox.activities.FetchFileActivity$FetchFileActivityFactory
. . .
26-Apr-2018 13:29:22.615 INFO [grupo-1-hilo-1] org.jitterbit.connector.ConnectorRegistry.registerConnector Connector Name: Dropbox Author: Jitterbit Connector Key: 929f90...52562 Endpoint Entity Type Id: 200401 Internal Connector: false Activities Id: {fetch=200402, put=200500}
26-Apr-2018 13:29:22.617 INFO [grupo-1-hilo-1] org.jitterbit.connector.sdk.BaseJitterbitConnector.onInit onInit() connector name: Dropbox
. . .
Si ve mensajes similares a estos en los registros, significa que el conector de Dropbox se ha realizado correctamente. cargado y puesto en marcha. Ahora puede iniciar sesión en el Portal de Harmony Jitterbit y acceso Cloud Studio para empezar a usar el conector.
En un proyecto dentro del ambiente al que está asociado el Agente Privado, debería ver el conector de Dropbox en la paleta de componentes de diseño. Luego puede configurar el extremo como lo haría con cualquier otro conector en la nube Estudio.
Uso del conector de Dropbox¶
Ahora debería ver el conector en proyectos que utilizan el ambiente asociado con su Agente Privado y el conector Debería aparecer en el paleta de componentes de diseño pestaña Conectividad cuando el menú desplegable Mostrar está configurado para filtrar en Conectores o Todos:
De lo contrario, consulte la sección de resolución de problemas al final de este documento para sugerencias antes avanzando más.
Configuración de una conexión de Dropbox¶
La primera tarea es usar el conector de Dropbox para configurar una conexión de Dropbox para establecer conectividad con el extremo En la paleta de componentes, asegúrese de que el menú desplegable Mostrar esté configurado para filtrar en Conectores o Todos, haga clic en el conector de Dropbox para abrir la configuración de conexión. Asigne un nombre a la conexión (como como “Dropbox”) e ingrese la Clave de aplicación de Dropbox y el Token de acceso de Dropbox que guardó previamente:
Haga clic en el botón Probar para confirmar que la conexión es exitosa y luego haga clic en el botón Guardar cambios para guarde la configuración y regrese al flujo de trabajo.
Ahora debería ver cuatro actividades en la conexión de Dropbox configurada en la paleta de componentes: Procesar archivo, Obtener archivo, Obtener archivo y Colocar archivo. Estas actividades ahora se pueden agregar a las operaciones en el tela de diseño y configurados como fuentes o destinos en una operación. En conjunto, se hace referencia a una conexión específica y sus actividades. como extremo:
Escenarios del tutorial¶
Cada uno de estos escenarios de tutorial demuestra una actividad diferente del conector:
- Escenario 1: Obtener archivo: Obtenga un archivo de texto de Dropbox y escríbalo como un archivo XML en un FTP servidor.
- Escenario 2: Obtener archivo: Obtenga un archivo de texto de Dropbox y escríbalo como un archivo de texto en un FTP servidor.
- Escenario 3: Poner Archivo: Lea un archivo de texto de un servidor FTP y colóquelo en Dropbox como texto archivo.
- Escenario 4: Archivo de proceso: Obtenga un archivo XML de Dropbox, procéselo y escríbalo como un archivo JSON a un servidor FTP.
- Escenario 5: Obtener archivo: Obtenga un archivo de Dropbox y escríbalo en un servidor FTP.
Para completar los escenarios del tutorial, necesitará credenciales (alojar, nombre de usuario y contraseña) para un servidor FTP. Si Has completado recientemente la capacitación de la Universidad Jitterbit y tiene credenciales válidas, puede usar el servidor FTP de ese curso. Configurar un extremo FTP, ingresando el alojar, el nombre de usuario, y contraseña. En estos tutoriales, el extremo de FTP se nombra con el nombre ” FTP”:
Solución de problemas¶
Si no puede cargar el conector o verlo en Cloud Studio, consulte los consejos en el Solución de problemas del SDK del conector página.