Zum Inhalt springen

Anleitung für den Dropbox-Connector

Einführung

Dieses Tutorial behandelt den Dropbox-Connector, einen vollständigen Connector, der mit dem Jitterbit Connector SDK erstellt wurde. Obwohl dieser Connector voll funktionsfähig ist, ist er nicht für den Einsatz in der Produktion vorgesehen. Er ist als Ausgangspunkt für die Entwicklung von Connectors gedacht, da er nicht über alle Tests und Fehlerbehandlungen verfügt, die von einem Produktionsconnector erwartet werden.

Vorausgesetzt, Sie haben die Voraussetzungen erfüllt, du kannst Laden Sie das Beispiel herunter, erstellen und verpacken Sie es, installieren Sie es auf einem privaten Jitterbit-Agenten und verwenden Sie es in einem Projekt um eine Verbindung zu Dropbox herzustellen und Dateien zu verschieben.

Das Tutorial setzt voraus, dass Sie mit Jitterbit und Jitterbit Integration Studio vertraut sind. Wenn Sie nicht Wenn Sie mit Integration Studio vertraut sind, lesen Sie bitte unsere Integration Studio Dokumentation, insbesondere die Integration Studio Kurzanleitung.

Beispiel-Dropbox-Connector abrufen

Falls Sie dies noch nicht getan haben, besteht der erste Schritt darin, den Dropbox-Connector zu klonen aus dem GitHub Repository. Sie können dies tun von die GitHub-Website oder durch Ausführen dieser Befehle:

$ git clone https://github.com/jitterbit/dropbox-connector.git
$ cd dropbox-connector

Registrieren Sie Ihren Beispiel-Dropbox-Connector

Sie benötigen bestimmte Informationen, bevor Sie den Connector erstellen und verpacken können: einen Dropbox-Login und eine Anwendung, einen Benutzername und Passwort des Harmony-Kontos sowie Werte aus der Jitterbit-Connector-Registrierung. Erhaltene Werte aus der Connector-Registrierung werden im Manifest verwendet, bevor der Connector erstellt und verpackt wird.

Dropbox

Der erste Schritt erfolgt bei Dropbox selbst. Da der Connector eine Anwendung ist, die mit Dropbox interagiert, werden Sie müssen Sie sich bei Dropbox als Entwickler registrieren und eine Dropbox-Anwendung mithilfe der Dropbox-API erstellen. Die Anwendung kann einen beliebigen Namen und beliebige Einstellungen haben. Dies ist mit einem kostenlosen Dropbox-Konto möglich. Auf der Dropbox-Website App erstellen:

Holen Sie sich von der Webseite Ihrer neuen Anwendung den App-Schlüssel und generieren Sie ein Zugriffstoken. Dieses Bild zeigt (rot umrandet), wo diese auf der Webseite erhältlich sind:

In diesem Beispiel wurde eine Anwendung namens „Jitterbit Connector SDK Testing“ erstellt. Der App-Schlüssel wird angezeigt als „xxxxxxxxxxxxxxx”. Das Zugriffstoken wird angezeigt, sobald die Schaltfläche Generieren unter der Bezeichnung Generiertes Zugriffstoken verwendet wurde.

Klicken Sie auf die Schaltfläche Generieren, um das Zugriffstoken zu generieren, kopieren Sie sowohl den App-Schlüssel als auch das Zugriffstoken und speichern Sie sie sicher, wo Sie sie beim Konfigurieren des Connectors abrufen können.

Beachten Sie die Einstellung des App-Ordnernamens (blau umrandet). In diesem Beispiel ist dies der Stammordner auf Dropbox, aus dem alle Dateien stammen, die Sie mit dem Connector ablegen oder abrufen.

Harmony

Wenn Sie noch keinen Benutzernamen und kein Passwort für Harmony haben, benötigen Sie diese, bevor Sie fortfahren. (Ein Testlizenz ist ausreichend: Gehen Sie zu < https://jitterbit.com > und klicken Sie auf die Schaltfläche Testversion anfordern, um sich anzumelden.)

Jitterbit-Connector-Registrierung

Für alle Jitterbit-Konnektoren ist eine Registrierung erforderlich. Dazu wird eine Jitterbit API verwendet, um den Konnektor zu registrieren. Ihre Harmony Anmeldeinformationen.

Um den Connector zu registrieren und die Registrierungswerte abzurufen, verwenden Sie die Postman-Sammlung im Dropbox-Anschluss als postman/JitterbitConnectorManagerAPI.collection.json.

Importieren Sie vor dem Ausführen der REST- API die Umfeld aus postman/jitterbit-env-variable-postman.json in Postman und ordnen Sie sie der Sammlung zu.

Bearbeiten Sie die Umfeld und geben Sie den Host ein (wie von Ihrer Region definiert; siehe Meine Region finden), Email (Ihr Jitterbit-Harmony-Benutzername@example.com), Passwort (Ihr Harmony-Passwort) und Connector-Name Umfeld entsprechend:

Der Name, unter dem der Connector registriert ist, muss mit dem Wert im adapter.json Datei zur Beschreibung der Benutzeroberfläche. Für dieses Tutorial wird der Connector name bereitgestellt in der Dropbox adapter.json Datei ist Dropbox. Einzelheiten zur UI-Datei finden Sie unter Connector-Implementierung und Connector SDK UI-Komponenten.

Führen Sie nun diese beiden APIs in Postman der Reihe nach aus:

  1. Log In User
  2. Register a Connector

(Die anderen APIs in der Sammlung können verwendet werden, um vorhandene Konnektoren aufzulisten und zu löschen, die Sie zuvor registriert ist und um die Gültigkeit des Schlüssels und des Geheimnisses eines Connectors zu bestätigen.)

Die vom Register Connector API enthält die Schlüsselwerte, die für den Connector benötigt werden Manifest, um die Registrierung des Connectors abzuschließen. Sie sollten eine Antwort wie die folgende erhalten:

{
  "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"
}

Wie aus diesem Beispiel ersichtlich ist, wurde ein Connector registriert, hat eine Endpoint Entitäts-ID von 20101 und können Funktionsaktivitätsentitäts-IDs haben, die von 20102 Zu 20200.

Connector API registrieren Manifestdateischlüssel
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>

Der zurückgegebene Schlüssel und das Geheimnis werden gemäß der obigen Tabelle zu Jitterbit-Connector-Key Und Jitterbit-Connector-Secret im Manifest für den Connector.

Dem Connector wurde eine Endpoint ID und ein Bereich von Aktivitäts-Endpunkt-IDs (Funktions-Endpoint IDs) zugewiesen, von der ersten bis zur der letzte. Im Fall des Dropbox-Connectors, der vier Aktivitäten hat (Datei abrufen, Datei abrufen, Datei verarbeiten und Put File) würden Sie jeder Aktivität eine individuelle ID zuweisen, so dass sie innerhalb des zugewiesenen Bereichs liegt. Einem einzelnen Connector können maximal 99 Aktivitäten zugewiesen werden.

Vervollständigen Sie die Manifestdatei

Mit den erhaltenen Informationen können Sie nun die Werte in der Manifestdatei festlegen MANIFEST.MF befindet sich im geklonten Dropbox-Connector GitHub Repository in

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

Schlüssel, Geheimnis und IDs wurden von der Registrierung des Connectors zurückgegeben. Da der Dropbox-Connector vier Aktivitäten hat, können Sie die Start-ID für Jitterbit-Activity-EntityTypeId-fetch(die Aktivität „Datei abrufen“) und erhöhen Sie dann die IDs für die anderen drei Aktivitäten. Die letzte Aktivität muss kleiner oder gleich der functionEntityEndId. Vervollständigen Sie diese Werte, bevor Sie den Connector erstellen. Beachten Sie, dass in jeder Zeile der Manifestdatei ein Leerzeichen zwischen dem Doppelpunkt des Labels und dem Wert stehen muss.

Warnung

Wenn Sie den Connector unter Windows erstellen, beachten Sie, dass die Manifestdatei einen abschließenden Wagen haben muss Return/Zeilenvorschub als letzte Zeile, andernfalls der letzte Eintrag (Class-Path) wird übersprungen und nicht in die Manifestdatei aufgenommen, die in der Ausgabe-JAR-Datei enthalten ist.

Erstellen Sie den Dropbox-Connector

Nachdem Sie die Manifesteinträge bearbeitet und gespeichert haben, können Sie nun den Connector erstellen. Führen Sie diesen Befehl innerhalb des dropbox-connectorVerzeichnis, das das geklonte Repository mit dem bearbeiteten Manifest enthält:

$ mvn jaxb2:xjc compile install

Dadurch wird der Connector kompiliert, getestet, erstellt, verpackt und installiert. Die fertige JAR-Datei befindet sich unter:

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

Installieren des Connectors

Der fertige Connector kann nun auf einem privaten Agenten installiert werden. (Einzelheiten zur Installation von Agenten finden Sie unter Systemanforderungen für private Agenten).

Damit der Agent den Connector finden kann, muss die Connector-JAR-Datei im Connector-Verzeichnis des Agenten abgelegt werden. Normalerweise befindet sich dieser hier:

  • Linux: /opt/jitterbit/Connectors
  • Windows: C:\Program Files (x86)\Jitterbit Agent\Connectors(Administratorrechte erforderlich)
  • Docker: das zugeordnete Verzeichnis /opt/jitterbit/Connectors im Docker-Befehl, wie --volume "$(pwd)/dropbox-connector:/opt/jitterbit/Connectors"

Wenn Sie das Private Harmony Docker-Agent-Image verwenden, Es ermöglicht Ihnen, ein Host-Verzeichnis in ein Container-Verzeichnis einzubinden, wie z. B. /connectors. Innerhalb des Docker-Containers scannt der Agent die /opt/jitterbit/Connectors Verzeichnis für JAR-Dateien, die eine Connector-Implementierung enthalten (pro JAR-Datei ist nur eine Connector-Implementierung zulässig). Um den Dropbox-Connector JAR einsetzen, nachdem er erstellt wurde, kopieren Sie beim Ausführen des Agenten als Docker-Container die JAR-Datei aus dem Build target Verzeichnis in das Verzeichnis, das als Connector-Verzeichnis gemountet ist, und starten Sie den Container neu. Wenn der Docker-Container startet, kopiert er den Inhalt des gemounteten Verzeichnisses in das /opt/jitterbit/Connectors Verzeichnis.

Verwenden Sie in keinem Fall das Maven-Build-Verzeichnis als Connector-Verzeichnis, da das Scannen des Verzeichnisses durcheinander gerät, wenn es auf die Zwischenphasen des Maven-Build-Prozesses stößt. Kopieren Sie stattdessen die fertige JAR-Datei in das Connector-Verzeichnis, wenn der Build-Prozess abgeschlossen ist. Dies kann entweder manuell durchgeführt oder als Schritt nach einem erfolgreichen Build integriert werden.

Der Agent scannt das Connector-Verzeichnis kontinuierlich nach Änderungen und lädt automatisch alle Connector-JARs neu, die er findet und die neu sind oder geändert wurden. Das bedeutet, dass Sie beim Entwickeln Ihres Connectors einfach jeden neuen Build in das Connector-Verzeichnis kopieren, damit er automatisch vom Agenten neu geladen wird.

Docker-Beispiel

Beispielsweise führt man auf einem Linux System, auf dem ein privater Docker-Agent ausgeführt wird, diesen Befehl im übergeordneten Verzeichnis des

dropbox-connectorstartet einen Docker-Agenten mit dem target Verzeichnis zugeordnet zu /opt/jitterbit/Connectors Verzeichnis des Agenten:

$ 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

wobei private-agent.env enthält die Umfeld, die für die Verbindung mit Harmony verwendet werden.

Die Datei private-agent.env würde so aussehen; ersetzen Sie die entsprechenden Werte:

HARMONY_USERNAME="<email_address>"
HARMONY_PASSWORD="<password>"
HARMONY_ORG="<your_organization_name>"
HARMONY_AGENT_GROUP="<your_agent_group_name>"
HARMONY_AGENT="<your_agent_name>"

In einer anderen Eingabeaufforderung (oder PowerShell unter Windows ) können Sie überprüfen, ob der Docker-Container aktiv ist. durch Verwendung von:

$ 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

Notiz

Sobald der Container aktiv ist und den Integritätscheck besteht, können Sie sich beim Harmony Portal und gehen Sie zu Management Console Agenten Seite, um zu prüfen, ob die Agent wurde registriert und läuft.

In einer anderen Eingabeaufforderung (oder PowerShell unter Windows ) können Sie mit einem Befehl auf den Container zugreifen um eine Shell im Docker-Container zu öffnen:

$ docker exec -ti jitterbit-agent /bin/bash

root@b3160de34840:/opt/jitterbit#

An diesem Punkt haben Sie vollen Zugriff auf den Agentencontainer. Sie können den Agenten mithilfe von /opt/jitterbit/bin/jitterbitDienstprogramm. Für eine Hilfemeldung verwenden Sie innerhalb des Containers:

# /opt/jitterbit/bin/jitterbit help

Von innerhalb des Containers aus können Sie die Tomcat-Protokolle verfolgen, um die Connector-Protokolle zu überprüfen:

# 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`[Pool-1-Thread-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`[Pool-1-Thread-1] `org.jitterbit.connector.sdk.BaseJitterbitConnector.onInit onInit() connector name: Dropbox
. . .

Wenn Sie in den Protokollen ähnliche Nachrichten sehen, bedeutet dies, dass der Dropbox-Connector erfolgreich geladen und gestartet. Sie können sich nun am Harmony Portal und Zugang Integration Studio, um den Connector zu verwenden.

In einem Projekt innerhalb der Umfeld, mit der der private Agent verknüpft ist, sollten Sie den Dropbox-Connector sehen in der Design-Komponentenpalette. Sie können den Endpoint dann wie bei jedem anderen Connector in Cloud konfigurieren. Studio.

Verwenden Sie den Dropbox-Connector

Sie sollten nun den Connector in Projekten sehen, die die mit Ihrem privaten Agenten verknüpfte Umfeld verwenden, und den Anschluss. Es sollte im Design-Komponentenpalette Tab Konnektivität, wenn die Dropdown-Liste Anzeigen auf Filterung nach Konnektoren oder Alle eingestellt ist:

Wenn nicht, lesen Sie den Abschnitt zur Fehlerbehebung am Ende dieses Dokuments für Vorschläge, bevor Sie fortfahren.

Konfigurieren einer Dropbox-Verbindung

Die erste Aufgabe besteht darin, mit dem Dropbox-Connector eine Dropbox-Verbindung zu konfigurieren, um eine Verbindung mit dem Endpoint. Stellen Sie in der Komponentenpalette sicher, dass das Dropdown-Menü Anzeigen so eingestellt ist, dass nach Konnektoren gefiltert wird oder Alle, klicken Sie auf den Dropbox-Connector, um die Verbindungskonfiguration zu öffnen. Geben Sie der Verbindung einen Namen (z. B. als „Dropbox“) und geben Sie den Dropbox App Key und den Dropbox Access Token ein, die Sie zuvor gespeichert haben:

Klicken Sie auf die Schaltfläche Test, um zu bestätigen, dass die Verbindung erfolgreich war, und klicken Sie dann auf die Schaltfläche Änderungen speichern, um Speichern Sie die Konfiguration und kehren Sie zum Workflow zurück.

Sie sollten nun in der Komponentenpalette unter der konfigurierten Dropbox-Verbindung vier Aktivitäten sehen: Datei verarbeiten, Datei abrufen, Datei abrufen und Datei ablegen. Diese Aktivitäten können nun zu Vorgängen auf der Design-Canvas hinzugefügt werden und als Quellen oder Ziele in einer Operation konfiguriert werden. Zusammen werden eine bestimmte Verbindung und ihre Aktivitäten bezeichnet als als Endpoint:

Tutorial-Szenarien

Diese Tutorial-Szenarien demonstrieren jeweils eine andere Aktivität des Connectors:

Um die Tutorial-Szenarien abzuschließen, benötigen Sie Anmeldeinformationen (Host, Benutzername und Passwort) für einen FTP Server. Wenn Sie haben vor Kurzem die Schulung der Jitterbit University abgeschlossen und haben Mit gültigen Anmeldeinformationen können Sie den FTP Server dieses Kurses verwenden. Konfigurieren Sie einen FTP Endpoint, Eingabe von Host, Benutzername, und Passwort. In diesen Tutorials wird der FTP Endpoint mit dem Namen „FTP“ benannt:

Fehlerbehebung

Wenn Sie den Connector nicht laden können oder ihn in Integration Studio nicht sehen, lesen Sie die Tipps auf der Fehlerbehebung beim Connector-SDK Seite.