Saltar al contenido

Tutorial del conector de Dropbox

Introducción

Este tutorial cubre el conector de Dropbox, un conector completo creado con el SDK de conector Jitterbit. Aunque funciona completamente, este conector no está diseñado para uso en producción. Está pensado como un punto de partida para el desarrollo de conectores, ya que no tiene todas las pruebas y el manejo de errores que se esperarían en un conector de producción.

Siempre que haya cumplido con los requisitos previos, puede Descargue el ejemplo, compílelo y empaquetelo, instálelo en un agente privado Jitterbit y úselo en un proyecto. para conectarse a Dropbox y mover archivos.

El tutorial asume que está familiarizado con Jitterbit y Jitterbit Integration Studio. Si no lo está, Si está familiarizado con Integration Studio, revise nuestra Integration Studio documentación, en particular la Guía de inicio rápido de Integration Studio.

Obtener el conector de Dropbox de ejemplo

Si aún no lo has hecho, el primer paso es clonar el conector de Dropbox desde el 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

Registre su conector de Dropbox de ejemplo

Necesitará cierta información antes de poder crear 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 Los datos del registro del conector se utilizan en el manifiesto antes de crear y empaquetar el conector.

Caja de caída

El primer paso es en Dropbox. Como el conector será una aplicación que interactúa con Dropbox, deberás 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:

imagen

Desde la página web de tu nueva aplicación, obtén su clave de aplicación y genera un token de acceso. Esta imagen muestra (en rojo) dónde se pueden obtener en la página web:

image

En este ejemplo, se ha creado una aplicación llamada "Prueba del SDK del conector Jitterbit". La clave de la aplicación se muestra como "xxxxxxxxxxxxxxx". El token de acceso se mostrará una vez que se haya utilizado el botón Generar debajo de la etiqueta Token de acceso generado.

Haga clic en el botón Generar para generar el token de acceso, copie tanto la clave de la aplicación como el token de acceso y guárdelos de manera segura donde pueda recuperarlos al configurar el conector.

Tenga en cuenta la configuración del Nombre de la carpeta de la aplicación (delineado en azul). En este ejemplo, esta es la carpeta raíz en Dropbox desde donde se originarán todos los archivos que coloque o obtenga con el conector.

Harmony

Si aún no ha obtenido un nombre de usuario y una 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 Jitterbit requieren registro, lo que implica el uso de una API Jitterbit para registrar el conector usando 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 (según lo definido por su región; consulte Encuentra mi región), correo (su-nombre-de-usuario-de-jitterbit-harmony@ejemplo.com), contraseña (su contraseña de Harmony ) y nombre del conector variables de ambiente apropiadamente:

imagen

El nombre con el que se registra el conector debe coincidir con el valor del adapter.json archivo utilizado para describir la IU. Para este tutorial, el conector name proporcionado en Dropbox adapter.json El archivo es Dropbox Para obtener más detalles sobre el archivo UI, consulte Despliegue del conector y Componentes de la interfaz de usuario del SDK del conector.

Ahora, desde Postman, ejecute estas dos APIs en orden:

  1. Log In User
  2. Register a Connector

(Las otras APIs de la colección se pueden usar para enumerar y eliminar los conectores existentes que haya creado previamente) registrado y para confirmar la validez de la clave y el secreto de un conector).

imagen

imagen

La respuesta devuelta por el Register Connector La API contiene los valores clave que se necesitan para el conector. Manifieste para completar el registro del conector. Debería recibir una respuesta como esta:

{
  "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 un ID de entidad de extremo de 20101, y pueden tener identificadores de entidad de actividad de función que van desde 20102 a 20200.

Registrar API de conector 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 devueltos se convertirán, siguiendo la tabla anterior, en los siguientes: 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), desde el primero hasta el último. el último. En el caso del conector de Dropbox, que tiene cuatro actividades (Obtener archivo, Obtener archivo, Procesar archivo y Poner archivo), asignaría identificaciones individuales a cada actividad de modo que se encuentren dentro del rango asignado. Se pueden asignar un máximo de 99 actividades a un conector individual.

Completar el archivo de manifiesto

Con la información obtenida, ya puedes configurar los valores en el archivo de manifiesto. MANIFEST.MF Ubicado en el conector de Dropbox clonado 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 identificadores se obtuvieron del registro del conector. Como el conector de Dropbox tiene cuatro actividades, puedes usar el identificador de inicio para Jitterbit-Activity-EntityTypeId-fetch(la actividad Obtener archivo) y luego incrementar los identificadores de las otras tres actividades. La última actividad debe ser menor o igual que la functionEntityEndId. Complete estos valores antes de crear 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 retorna/salta de línea como la última línea; de lo contrario, la última entrada (Class-Path) se omitirá y no se incluirá en el archivo de manifiesto incluido en el archivo JAR de salida.

Construir el conector de Dropbox

Después de editar y guardar las entradas del manifiesto, ya está listo para crear el conector. Ejecute estos comandos dentro del dropbox-connector directorio que contiene el repositorio clonado con el manifiesto editado:

export APP_KEY=<dropbox-app-key>
export ACCESS_TOKEN=<dropbox-access-token>
mvn jaxb2:xjc compile install

Nota

Si tu JAVA_HOME La variable PATH no está configurada en Java SE Development Kit 8, puedes configurarla temporalmente como corresponde para una única compilación de Maven con el siguiente comando:

JAVA_HOME="/Path/to/JDK/jdk-1.8.jdk/Contents/Home" mvn jaxb2:xjc compile install

Esto compilará, probará, creará, empaquetará e instalará el conector. El archivo JAR completo estará en:

dropbox-connector/target/jitterbit-connector-dropbox-1.0.0.jar

Instalar el conector

El conector completado 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, se encuentra en:

  • Linux: /opt/jitterbit/Connectors
  • Windows: C:\Program Files (x86)\Jitterbit Agent\Connectors(se requieren privilegios de administrador)
  • Docker: El directorio asignado a /opt/jitterbit/Connectors en el comando Docker, como --volume "$(pwd)/dropbox-connector:/opt/jitterbit/Connectors"

Si está utilizando la imagen del agente privado de Harmony Docker, él le permite montar un directorio de 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 se haya se ha creado, mientras se ejecuta el agente como un contenedor Docker, copie el archivo JAR de la compilación target directorio al directorio montado como directorio de conectores y reinicie el contenedor. Cuando se inicia el contenedor Docker, copia el contenido del directorio montado al /opt/jitterbit/Connectors directorio.

En todos los casos, no utilice el directorio de compilación de Maven como directorio de conectores, ya que el escaneo del directorio se confundirá al encontrarse con las etapas intermedias del proceso de compilación de Maven. En su lugar, copie el JAR completo al directorio de conectores cuando finalice el proceso de compilación. Esto se puede realizar manualmente o incorporar 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 encuentre que sea nuevo o haya sido modificado. Esto significa que, a medida que desarrolla su conector, simplemente copie cada nueva compilación en el directorio de conectores para que el agente la vuelva a cargar automáticamente.

Ejemplo de Docker

Por ejemplo, en un sistema Linux que ejecuta un agente privado de Docker, ejecutar este comando en el directorio principal del

dropbox-connector iniciará un agente Docker con el target directorio asignado a la /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

donde 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é activo y pase la verificación de estado, puede iniciar sesión en Portal de la Harmony y vaya a la Management Console Agentes página para comprobar si el agente se ha registrado y está ejecutándose.

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 obtener un mensaje de ayuda, desde dentro del contenedor, utilice:

/opt/jitterbit/bin/jitterbit help

Desde el interior 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 conectado correctamente. Cargado y puesto en marcha. Ya puedes iniciar sesión en el Portal de la Harmony y acceso Integration Studio para comenzar a utilizar el conector.

En un proyecto dentro del ambiente con el que está asociado el agente privado, debería ver el conector de Dropbox En la paleta de componentes de diseño, puede configurar el extremo como lo haría con cualquier otro conector en Cloud Estudio.

Utilice el conector de Dropbox

Ahora debería ver el conector en los proyectos que usan 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 por Conectores o Todos:

imagen

En caso contrario, consulte la sección de solución de problemas al final de este documento para obtener sugerencias antes de continuar.

Configurar una conexión de Dropbox

La primera tarea es utilizar 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 por Conectores o Todos, haga clic en el conector de Dropbox para abrir la configuración de conexión. Déle un nombre a la conexión (como como "Dropbox") e ingresa la Clave de aplicación de Dropbox y el Token de acceso de Dropbox que guardaste previamente:

imagen

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 guardar la configuración y volver al flujo de trabajo.

Ahora debería ver cuatro actividades bajo 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 configuradas como fuentes o destinos en una operación. En conjunto, una conexión específica y sus actividades se denominan como punto extremo:

imagen

Escenarios de tutoriales {: #tutorial-scenarios }Cada uno de estos escenarios del tutorial demuestra una actividad diferente del conector:

Para completar los escenarios del tutorial, necesitará credenciales (alojar, nombre de usuario y contraseña) para un servidor FTP. Si Recientemente has completado la capacitación de Jitterbit University y tienen credenciales válidas, puede utilizar el servidor FTP de ese curso. Configurar un extremo FTP, ingresando el alojar, nombre de usuario, y contraseña. En estos tutoriales, el extremo FTP se nombra con el nombre " FTP":

imagen

Solución de problemas

Si no puede cargar el conector o verlo en Integration Studio, consulte los consejos en la Solución de problemas del SDK del conector página.