WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

Datei eines fernen FTP oder SFTP-Verzeichnisses lesen

Verwenden Sie den FileInput-Knoten zum Lesen einer Datei, die sich in einem Verzeichnis auf einem fernen FTP oder SFTP-Server befindet, und zur Weiterleitung von Nachrichten, die auf dem Inhalt dieser Datei basieren.

Bevor Sie beginnen:
Dieses Beispiel ist eine Erweiterung des Beispiels im Abschnitt Lokale Datei als Eingabe für Nachrichtenfluss verwenden und beschreibt die Verwendung eines FileInput-Knotens in einem Nachrichtenfluss. Bei den Anweisungen wird vorausgesetzt, dass Sie ein Windows-Betriebssystem verwenden und einen Nachrichtenfluss, der einen FileInput-Knoten enthält, erstellt haben. Sie benötigen außerdem folgende Ressourcen:
  • Einen FTP oder SFTP-Server. Stellen Sie sicher, dass ein FTP oder SFTP-Server mit folgenden Einstellungen vorhanden ist:
    Server
    ftpserver.hursley.abc.com
    Port
    21 (für FTP) oder 22 (für SFTP)
    Arbeitsverzeichnis
    /ftpfileinput
    Benutzer-ID
    myuserid
    Kennwort
    mypassword

    Diese Werte dienen nur zu Demonstrationszwecken in diesem Beispiel. Falls Sie andere Werte verwenden möchten, sollten Sie sich diese notieren, damit Sie bei Ausführung der Aufgabe die geeigneten Werte festlegen können.

  • Eine Sicherheitsidentität. Definieren Sie mit dem Befehl mqsisetdbparms eine Sicherheitsidentität mit dem Namen myidentity für Ihre Benutzer- und Kennwortdaten.
    Wenn Sie eine Verbindung mit einem FTP-Server herstellen möchten, muss die Sicherheitsidentität das Präfix ftp:: haben, damit die Dateiknoten die Identitätsdefinition finden können. Verwenden Sie also beispielsweise für einen Broker namens MyBroker folgenden Befehl:
        mqsisetdbparms MyBroker -n ftp::myidentity -u myuserid -p mypassword
    Wenn Sie eine Verbindung mit einem SFTP-Server herstellen möchten, muss die Sicherheitsidentität das Präfix sftp:: haben, so wie im folgenden Beispiel gezeigt:
        mqsisetdbparms MyBroker -n sftp::myidentity -u myuserid -p mypassword
    Sie können eine Verbindung mit einem SFTP-Server auch für eine Authentifizierung über öffentliche Schlüssel konfigurieren, indem Sie eine SSH-Identitätsdatei und einen Verschlüsselungstext statt eines Kennworts angeben. Beispiel:
        mqsisetdbparms MyBroker -n sftp::myidentity -u myuserid -i identity_file -r passphrase

    Weitere Informationen zur Konfiguration von Verbindungen mit einem SFTP-Server finden Sie im Abschnitt Dateien mit SFTP sicher übertragen.

  • Eine Eingabedatei. Um diesem Beispielszenario folgen zu können, sollten Sie eine Eingabedatei mit dem Namen test_input1.xml und folgendem Inhalt erstellen:
    <Message>test1</Message>
    <Message>testzwei</Message>
    <Message>testdrei</Message>
    Jede Zeile muss mit einem Zeilenbegrenzer enden, der zu dem Systems passt, auf dem sich der FTP oder SFTP-Server befindet. Legen Sie diese Datei nicht im Eingabeverzeichnis ab, sondern stellen Sie sie in das Verzeichnis /ftpfileinput auf dem FTP oder SFTP-Server.
  • Eine Nachrichtengruppe. In diesem Beispiel wird eine Nachrichtengruppe namens xml1 verwendet, die den XMLNSC-Parser verwendet. Die Nachrichtengruppe xml1 modelliert Nachrichten mit dem folgenden Format:
    <Message>...</Message>

Gehen Sie dazu wie folgt vor:

  1. Legen Sie für den FileInput-Knoten die erforderlichen Knoteneigenschaften fest. Die folgende Tabelle enthält eine Übersicht über die Eigenschaften des FileInput-Knotens, die Sie festlegen müssen. Außerdem ist angegeben, auf welcher Registerkarte die Eigenschaften angezeigt werden, ob es sich um obligatorische Eigenschaften handelt und wie die erforderlichen Werte lauten.
    Registerkarte Eigenschaft Wert
    Grundeinstellung Eingabeverzeichnis C:\FileInput\TestDir

    Wenn kein Eingabeverzeichnis vorhanden ist, werden keine Dateien verarbeitet, selbst wenn Sie Dateien über FTP oder SFTP verarbeiten.

    Dateiname oder Muster test_input1.xml
    Maßnahme bei erfolgreicher Verarbeitung In Unterverzeichnis des Archivs verschieben
    Doppelt vorhandene Archivdateien ersetzen Ausgewählt
    Syntaxanalyse der Eingabenachricht Nachrichtendomäne XMLNSC
    Nachrichtenmodell xml1
    Abfrage Abfrageintervall 3
    Wiederholung Maßnahme bei fehlschlagender Datei Zeitmarke hinzufügen und in Unterverzeichnis für Zurücksetzung verschieben
    Datensätze und Elemente Datensatzerkennung Mit Begrenzer
    Begrenzer DOS- oder UNIX-Linienende
    Begrenzertyp Postfix
    FTP Fernübertragung Ausgewählt
    Übertragungsprotokoll FTP oder SFTP
    Ferner Server und Port ftpserver.hursley.abc.com
    Sicherheitsidentität myidentity
    Serververzeichnis /ftpfileinput
    Übertragungsmodus ASCII (nur für FTP)
    Scan-Verzögerung 45
    Falls Sie für die FTP oder SFTP-Serverressource andere Werte eingestellt haben, geben Sie die betreffenden Werte ein. Die hier verwendeten Einstellungen sind identisch mit den Einstellungen des Beispiels im Abschnitt Lokale Datei als Eingabe für Nachrichtenfluss verwenden, außer dass die Eigenschaft Fernübertragung ausgewählt wurde und die Registerkarte FTP nun Eigenschaften enthält. Wenn Sie die Eigenschaft Fernübertragung inaktivieren, verhält sich der Knoten wie im Beispiel im Abschnitt Lokale Datei als Eingabe für Nachrichtenfluss verwenden. Die Eigenschaften auf der Registerkarte FTP bleiben zwar erhalten, werden aber ignoriert.
  2. Implementieren Sie den Nachrichtenfluss auf dem Broker. Weitere Informationen hierzu finden Sie unter Verpacken und implementieren.
Bei der Ausführung dieser Schritte geschieht Folgendes:
  1. Die Datei test_input1.xml wird aus dem Verzeichnis auf dem FTP oder SFTP-Server (/ftpfileinput) in das lokale Verzeichnis (C:\FileInput\TestDir) übertragen. Danach wird die Datei aus dem Verzeichnis auf dem FTP oder SFTP-Server gelöscht.
  2. Der FileInput-Knoten erkennt Datensätze auf Basis von DOS- oder UNIX-Zeilenendezeichen und erstellt für jeden gefundenen Datensatz eine eigene Nachricht, wie durch die Eigenschaften auf der Registerkarte Datensätze und Elemente definiert. Der Knoten leitet drei Nachrichten an den Nachrichtenfluss weiter, der an das Ausgangsterminal angeschlossen ist:
    • Nachricht 1:
      <Message>test1</Message>
    • Nachricht 2:
      <Message>testzwei</Message>
    • Nachricht 3:
      <Message>testdrei</Message>
  3. Wenn dem Datenendterminal ein Knoten zugeordnet ist, wird nach der Verarbeitung des letzten Datensatzes der Datei eine Datenendnachricht weitergegeben.
  4. Nach Beendigung der Verarbeitung wird die Datei test_input1.xml in das mqsiarchive-Unterverzeichnis C:\FileInput\TestDir\mqsiarchive verschoben. Falls das Archivverzeichnis mqsiarchive bereits eine Datei mit dem Namen test_input1.xml enthält, wird diese durch die neue Datei überschrieben.
  5. Im Falle eines Scheiterns des Nachrichtenflusses wird versucht, die Verarbeitung unter Berücksichtigung der für die Eigenschaften des FileInput-Knotens festgelegten Werte zu wiederholen. In diesem Beispielvorgang wird dem Dateinamen eine Zeitmarke hinzugefügt, und die Datei wird in das Verzeichnis mqsibackout verschoben. Hier ein Beispiel für den Pfad einer solchen Datei: C:\FileInput\TestDir\mqsibackout\20070928_150234_171021_test_input1.xml.

    Wenn auf der FTP-Seite der Zugriff verweigert wird, wird eine Datei mit 0 Byte erstellt und in das Verzeichnis 'mqsibackout' gestellt. Es wird für jeden fehlgeschlagenen FTP-Versuch eine Datei mit 0–Byte im Verzeichnis 'mqsibackout' erstellt.

Da die Eigenschaft Fernübertragung ausgewählt ist, setzt die FTP-Scanverzögerung von 45 Sekunden das Abfrageintervall von 3 Sekunden außer Kraft.

Weitere Informationen finden Sie im Abschnitt Aufteilung von Dateien in Datensätze steuern, in dem beschrieben wird, wie sich andere Einstellungskombinationen der Eigenschaften Datensatzerkennung, Begrenzer und Begrenzertyp des FileInput-Knotens auswirken.

Auch die folgenden Abschnitte enthalten Beispiele für die Verwendung dieses Knotens:

Informationen zu Beispielen können nur bei Verwendung des in das WebSphere Message Broker Toolkit integrierten bzw. online verfügbaren Information Center angezeigt werden. Muster können nur ausgeführt werden, wenn das im WebSphere Message Broker Toolkit integrierte Information Center verwendet wird.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:20:19


TaskthemaTaskthema | Version 8.0.0.5 | ac55422_